Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
4343a44
Add UNIFY_REFL_TAC to unify metavariables in equality
aqjune-aws Jan 29, 2026
c845dd3
Added a proof of Urysohn's metrization theorem and also a definition …
jrh13 Jan 30, 2026
93df5c1
Up until lib.ml
dnezam Feb 6, 2026
8fb49ac
Up until printer.ml
dnezam Feb 6, 2026
6ddc41f
Fix comment in candle_insulate.py
dnezam Feb 6, 2026
2c068cd
Adjust (~-) and (~-.)
dnezam Feb 10, 2026
4e70827
Fix pointer equality (?)
dnezam Feb 10, 2026
7663288
Up to preterm.ml
dnezam Feb 10, 2026
6ffb56a
Up to parser.ml
dnezam Feb 13, 2026
e2a6f22
Up to canon.ml
dnezam Feb 13, 2026
cdd455b
Up to meson.ml
dnezam Feb 13, 2026
5bc8909
Up to firstorder.ml
dnezam Feb 13, 2026
91017d0
Original metis.ml
dnezam Feb 13, 2026
c87954f
Merge pull request #151 from aqjune-aws/unify_refl
jrh13 Feb 16, 2026
0a5e935
Added a definition of paracompactness to the core general topology
jrh13 Feb 16, 2026
0c9e65f
Added a proof of Rabin's test for irreducibility of polynomials over
jargh Feb 19, 2026
9b73aef
Merge pull request #153 from jargh/master
jrh13 Feb 19, 2026
2ce6c3e
Added general metric space versions of well-chainedness, connectedness
jrh13 Feb 20, 2026
3dbf53f
Added some basic definitions and theorems about the Cantor space. The
jrh13 Feb 20, 2026
c31563b
Added a formalization of the impossibility of cube dissection into
jrh13 Feb 22, 2026
955caa3
Added material about algebraically closed fields, with a definition
jrh13 Feb 26, 2026
d9a37c8
Cleaning up metis (#152)
dnezam Feb 27, 2026
2264f31
Restore compatibility with OCaml 4.06, Camlp5 7.10 (#154)
dnezam Feb 28, 2026
6df9b21
Added the Hahn-Mazurkiewicz, Alexandroff-Hausdorff and Menger
jrh13 Feb 28, 2026
ce6a01d
Add lor, lxor, lnot to candle_boot
dnezam Feb 28, 2026
75ce310
Add List.find to candle_ocaml
dnezam Feb 28, 2026
1d4b567
Merge remote-tracking branch 'jrh/master' into ocaml-api
dnezam Feb 28, 2026
a6b1af8
Replace printf with print_string in itab.ml
dnezam Feb 28, 2026
8d7257f
Extend candle_ocaml.ml
dnezam Mar 1, 2026
14ba1f0
Extend candle_boot.ml
dnezam Mar 1, 2026
04c9ae9
Fix export type pretty printers in candle_insulate.ml
dnezam Mar 1, 2026
b2663b0
Fix metis.ml?
dnezam Mar 2, 2026
0a56ed8
Fix impconv.ml
dnezam Mar 2, 2026
70fc251
Add a bit of Hashtbl
dnezam Mar 2, 2026
f0bc951
Add String.hash
dnezam Mar 2, 2026
b18baec
Add Array.fold_left
dnezam Mar 2, 2026
1e7f6c0
Fix compute.ml
dnezam Mar 2, 2026
7d929ff
Fix nums.ml + recursion.ml, continue with arith.ml
dnezam Mar 2, 2026
dbf17d5
Fix bound check in Random.int
dnezam Mar 2, 2026
be00d5a
Add Array.of_list to candle_ocaml.ml
dnezam Mar 2, 2026
99e9245
Fix calc_num.ml
dnezam Mar 2, 2026
98cc673
Fix grobner.ml
dnezam Mar 2, 2026
2ee89c0
Fix ind_types.ml
dnezam Mar 2, 2026
261f2d3
Add Array.map to candle_ocaml.ml
dnezam Mar 2, 2026
08d3b05
Fix lists.ml
dnezam Mar 2, 2026
0a78c78
Fix hol_lib.ml
dnezam Mar 3, 2026
2b9f0f2
Fix define.ml/hol.lib
dnezam Mar 3, 2026
b22fc5d
Add partial, stubbed out versions of Sys and Filename
dnezam Mar 3, 2026
aaba905
Implement string_of_file in lib.ml using Text_io
dnezam Mar 3, 2026
b298760
Fix Library/pocklington.ml
dnezam Mar 3, 2026
1029d5f
Explain how to restore in candletest.mk
dnezam Mar 3, 2026
953b0f0
Add missing theorem to int.ml
dnezam Mar 3, 2026
a1bb302
Fix ringtheory.ml
dnezam Mar 3, 2026
e763ac0
Use Cake.Runtime instead of Runtime in candletest.mk
dnezam Mar 3, 2026
31c7bf6
Adjust comparison in candle_kernel.ml
dnezam Mar 3, 2026
e4afc1d
Make simp.ml closer to upstream
dnezam Mar 3, 2026
bc1bbdf
Fix calc_real.ml
dnezam Mar 3, 2026
0415a5f
Fix tactics.ml
dnezam Mar 3, 2026
b9d7797
Fix Multivariate/metric.ml
dnezam Mar 3, 2026
8182265
Fix Library/grouptheory.ml
dnezam Mar 3, 2026
a53c2cc
Print out when a file is done loading
dnezam Mar 5, 2026
7b387aa
Start sketching a Python program to interact with Candle
dnezam Mar 6, 2026
46d7e52
Start sketching candle-regression.py
dnezam Mar 13, 2026
f967a9b
Implement dump/restore
dnezam Mar 13, 2026
84ede35
Evolve candle-regression.py into a proper regression test suite
dnezam Mar 20, 2026
6679b73
Fix kill() for CRIU-restored processes
dnezam Mar 20, 2026
be7a4ba
Handle Ctrl-C gracefully in regression suite
dnezam Mar 20, 2026
63f22b6
Add --fail-fast option to stop on first unexpected failure
dnezam Mar 20, 2026
b821275
Include last successful val in test failure messages
dnezam Mar 20, 2026
0eb4a26
Fix pkill/restore race in regression suite by waiting for process reap
dnezam Mar 20, 2026
13129cb
Include loading dependency chain in test failure messages
dnezam Mar 20, 2026
e5f7b51
Try another way to fix the race condition
dnezam Mar 20, 2026
9c87dd9
Add --local and --quick flags to regression suite
dnezam Mar 20, 2026
e74e71f
Clean up some slop
dnezam Mar 21, 2026
0cf4d00
Print load_stack when failing early
dnezam Mar 21, 2026
3f88bd9
Add auto-generated files to .gitignore and clean up
dnezam Mar 21, 2026
278d34f
Various adjustments
dnezam Mar 23, 2026
61c98d1
Add GitHub regression
dnezam Mar 23, 2026
7e523fe
Remove some failing tests for now
dnezam Mar 23, 2026
482299c
Make bash behavior more strict
dnezam Mar 23, 2026
babed67
Make build-instructions.sh more strict
dnezam Mar 23, 2026
85e6744
Use bash
dnezam Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/regression-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Regression Tests

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: ./test.sh
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,8 @@ cake-x64-64.tar.gz
cake-x64-64
cake
config_enc_str.txt
checkpoint
checkpoint

candle_boot.ml
types.txt
candle_insulate.ml
1,612 changes: 1,612 additions & 0 deletions 100/cubedissection.ml

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions CHANGES

Large diffs are not rendered by default.

181 changes: 0 additions & 181 deletions Examples/update_database.ml

This file was deleted.

4 changes: 2 additions & 2 deletions Help/UNIFY_ACCEPT_TAC.hlp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
\DOC UNIFY_ACCEPT_TAC

\TYPE {UNIFY_ACCEPT_TAC : term list -> thm -> 'a * term -> ('b list * instantiation) * 'c list * (instantiation -> 'd list -> thm)}
\TYPE {UNIFY_ACCEPT_TAC : term list -> thm_tactic}

\SYNOPSIS
Unify free variables in theorem and metavariables in goal to accept theorem.
Expand Down Expand Up @@ -75,6 +75,6 @@ in the remaining goal, which we can solve easily:
Terminating proof search when using metavariables. Used in {ITAUT_TAC}

\SEEALSO
ACCEPT_TAC, ITAUT, ITAUT_TAC, MATCH_ACCEPT_TAC.
ACCEPT_TAC, ITAUT, ITAUT_TAC, MATCH_ACCEPT_TAC, UNIFY_REFL_TAC.

\ENDDOC
57 changes: 57 additions & 0 deletions Help/UNIFY_REFL_TAC.hlp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
\DOC UNIFY_REFL_TAC

\TYPE {UNIFY_REFL_TAC : tactic}

\SYNOPSIS
Unify term(s) and metavariable(s) in the equality of the goal.

\DESCRIBE
Given a goal {_ ?- x = y} where {y} is a metavariable, the tactic
{UNIFY_REFL_TAC} attempts to unify {y} with {x}.
If {y} is function application {f a b c} and {f} is a metavariable,
{UNIFY_REFL_TAC} attemps to unify {f} with {\a b c. x} (the number of arguments
can vary).

\FAILURE
Fails if no unification will work.

\EXAMPLE
{
# g `?x. 1 = x`;;
...

# e META_EXISTS_TAC;;
val it : goalstack = 1 subgoal (1 total)

`1 = x`

# e UNIFY_REFL_TAC;;

val it : goalstack = No subgoals
}
\noindent If the RHS is function application:
{
# g `?f. y + z = f y z`;;
...

# e (META_EXISTS_TAC THEN UNIFY_REFL_TAC);;
val it : goalstack = No subgoals
}
\noindent The arguments to {f} can be constants, but {UNIFY_REFL_TAC} will
print a warning.
{
# g `?f. y + 1 = f y 0`;;
...

# e (META_EXISTS_TAC THEN UNIFY_REFL_TAC);;
UNIFY_REFL_TAC: warning: this isn't var: 0
val it : goalstack = No subgoals
}

\USES
Terminating proof search when using metavariables.

\SEEALSO
UNIFY_ACCEPT_TAC

\ENDDOC
8 changes: 5 additions & 3 deletions Library/calc_real.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1725,7 +1725,9 @@ let ELIMINATE_DEF =
(* Overall conversion. *)
(* ------------------------------------------------------------------------- *)

let realcalc_cache = ref [];;
type realcalc =
((num * num) ref * (num -> num)) * ((num * thm) ref * (num -> thm))
let realcalc_cache = ref ([] : (term * realcalc) list)

let REALCALC_CONV,thm_eval,raw_eval,thm_wrap =
let a_tm = `a:real` and n_tm = `n:num` and n'_tm = `n':num`
Expand Down Expand Up @@ -2095,7 +2097,7 @@ let REALCALC_CONV,thm_eval,raw_eval,thm_wrap =
let ax0 = abs_num x0 in
let r = log2(ax0) -/ num 1 in
let get_ek(acc) =
if r < num 0 then
if r </ num 0 then
let p = find_msd rfn in
let e = acc +/ p +/ num 1 in
let k = e +/ p in e,k
Expand Down Expand Up @@ -2170,7 +2172,7 @@ let REALCALC_CONV,thm_eval,raw_eval,thm_wrap =
and q = log2(abs_num(raw_eval rfn2 s)) in
let k = q +/ r +/ num 1
and l = p +/ s +/ num 1 in
if p =/ num 0 && q = num 0 then
if p =/ num 0 && q =/ num 0 then
if k </ l then k +/ num 1,l else k,l +/ num 1
else k,l in
let raw_fn acc =
Expand Down
Loading
Loading