CakeML:2eee534c1709771f66d8822551b4b1e328b60621
More work on finite maps and the translator
#1444 (fdiff)
Merging into:8bc1398735a2018e9c6c6bcb92c58737f1aacaa9
monadic translator: read the current theory only when it is needed
HOL:fac52534ceb43806d35b11f91dafd558266bcbb6
Remove yet one more same_const instance in Compute.sml
Machine:lammmington
Claimed job
Reusing HOL
Starting developers
Finished developers 4s 122MB
Starting developers/bin
Finished developers/bin 2s 94MB
Starting misc
Finished misc 45s 1GB
Starting compiler/proofs
Finished compiler/proofs 1h11m24s 10GB
Starting compiler/bootstrap/compilation/x64/64/proofs
FAILED: compiler/bootstrap/compilation/x64/64/proofs
Scanning $(HOLDIR)/src/bag
Scanning $(HOLDIR)/src/sort
Scanning $(HOLDIR)/src/string
Scanning $(HOLDIR)/src/n-bit
Scanning $(HOLDIR)/src/res_quan/src
Scanning $(HOLDIR)/src/finite_maps
Scanning $(HOLDIR)/src/integer
Scanning $(HOLDIR)/src/transfer
Scanning $(HOLDIR)/src/pred_set/src/more_theories
Scanning $(HOLDIR)/src/algebra/base
Scanning $(HOLDIR)/src/algebra/construction
Scanning $(HOLDIR)/src/algebra
Scanning $(HOLDIR)/src/hol88
Scanning $(HOLDIR)/src/rational
Scanning $(HOLDIR)/src/real
Scanning $(HOLDIR)/examples/data-structures/balanced_bst
Scanning $(HOLDIR)/examples/formal-languages
Scanning $(HOLDIR)/examples/formal-languages/context-free
Scanning $(HOLDIR)/src/search
Scanning $(HOLDIR)/examples/formal-languages/regular
Scanning $(HOLDIR)/examples/machine-code/hoare-triple
Scanning $(HOLDIR)/src/coalgebras
Scanning $(HOLDIR)/examples/pl-semantics/lprefix_lub
Scanning $(CAKEMLDIR)/developers
Scanning $(CAKEMLDIR)/misc
Scanning $(CAKEMLDIR)/basis/pure
Scanning $(CAKEMLDIR)/semantics/ffi
Scanning $(CAKEMLDIR)/semantics
Scanning $(CAKEMLDIR)/semantics/proofs
Scanning $(CAKEMLDIR)/compiler/parsing
Scanning $(CAKEMLDIR)/translator
Scanning $(CAKEMLDIR)/characteristic
Scanning $(HOLDIR)/examples/algorithms/unification/triangular
Scanning $(HOLDIR)/src/transfer/examples
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order/compilation
Scanning $(CAKEMLDIR)/translator/monadic/monad_base
Scanning $(CAKEMLDIR)/compiler/inference
Scanning $(CAKEMLDIR)/compiler/printing
Scanning $(CAKEMLDIR)/translator/monadic
Scanning $(CAKEMLDIR)/basis
Scanning $(CAKEMLDIR)/candle/syntax-lib
Scanning $(CAKEMLDIR)/candle/standard/syntax
Scanning $(CAKEMLDIR)/candle/standard/monadic
Scanning $(CAKEMLDIR)/candle/standard/ml_kernel
Scanning $(CAKEMLDIR)/candle/set-theory
Scanning $(CAKEMLDIR)/candle/standard/semantics
Scanning $(CAKEMLDIR)/candle/prover/compute
Scanning $(CAKEMLDIR)/candle/prover
Scanning $(HOLDIR)/examples/algorithms
Scanning $(HOLDIR)/examples/machine-code/multiword
Scanning $(CAKEMLDIR)/compiler/backend/pattern_matching
Scanning $(CAKEMLDIR)/unverified/reg_alloc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc
Scanning $(HOLDIR)/src/floating-point
Scanning $(HOLDIR)/src/monad/more_monads
Scanning $(HOLDIR)/src/update
Scanning $(HOLDIR)/examples/l3-machine-code/common
Scanning $(CAKEMLDIR)/compiler/encoders/asm
Scanning $(CAKEMLDIR)/compiler/backend
Scanning $(CAKEMLDIR)/compiler/backend/gc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc/proofs
Scanning $(CAKEMLDIR)/semantics/alt_semantics
Scanning $(CAKEMLDIR)/semantics/alt_semantics/proofs
Scanning $(CAKEMLDIR)/compiler/backend/semantics
Scanning $(CAKEMLDIR)/compiler/backend/proofs
Scanning $(HOLDIR)/examples/l3-machine-code/lib
Scanning $(HOLDIR)/examples/l3-machine-code/x64/model
Scanning $(HOLDIR)/examples/machine-code/decompiler
Scanning $(HOLDIR)/examples/l3-machine-code
Scanning $(HOLDIR)/examples/l3-machine-code/x64/step
Scanning $(CAKEMLDIR)/compiler/encoders/x64
Scanning $(CAKEMLDIR)/compiler/backend/x64
Scanning $(HOLDIR)/examples/l3-machine-code/x64/prog
Scanning $(CAKEMLDIR)/compiler/encoders/x64/proofs
Scanning $(CAKEMLDIR)/compiler/backend/x64/proofs
Scanning $(CAKEMLDIR)/compiler/encoders/ag32
Scanning $(CAKEMLDIR)/compiler/backend/ag32
Scanning $(HOLDIR)/examples/l3-machine-code/arm/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm7
Scanning $(CAKEMLDIR)/compiler/backend/arm7
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm8
Scanning $(CAKEMLDIR)/compiler/backend/arm8
Scanning $(HOLDIR)/examples/l3-machine-code/mips/model
Scanning $(HOLDIR)/examples/l3-machine-code/mips/step
Scanning $(CAKEMLDIR)/compiler/encoders/mips
Scanning $(CAKEMLDIR)/compiler/backend/mips
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/model
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/step
Scanning $(CAKEMLDIR)/compiler/encoders/riscv
Scanning $(CAKEMLDIR)/compiler/backend/riscv
Scanning $(CAKEMLDIR)/pancake
Scanning $(CAKEMLDIR)/pancake/parser
Scanning $(CAKEMLDIR)/compiler
Scanning $(CAKEMLDIR)/compiler/backend/serialiser
Scanning $(CAKEMLDIR)/compiler/encoders/monadic_enc
Scanning $(CAKEMLDIR)/compiler/parsing/ocaml
Scanning $(CAKEMLDIR)/compiler/inference/proofs
Scanning $(CAKEMLDIR)/compiler/repl
Scanning $(CAKEMLDIR)/compiler/bootstrap/translation
Scanning $(HOLDIR)/src/num/theories/cv_compute/automation
Scanning $(HOLDIR)/examples/bootstrap
Scanning $(CAKEMLDIR)/compiler/backend/cv_compute
Scanning $(CAKEMLDIR)/cv_translator
Scanning $(CAKEMLDIR)/unverified/sexpr-bootstrap
Scanning $(CAKEMLDIR)/compiler/bootstrap/compilation/x64/64
Scanned 111 directories
Building 95 theory files
Starting work on basis_cvTheory
Starting work on addPrintValsTheory
Starting work on ml_monadStoreTheory
Starting work on holSyntaxLibTheory
basis_cvTheory basis/pure (11s) [1/95] OK
Finished $(CAKEMLDIR)/basis/pure [#theories: 1] (11.170s)
Starting work on source_cvTheory
holSyntaxLibTheory candle/syntax-lib (14s) [2/95] OK
Starting work on unify_cvTheory
addPrintValsTheory compiler/printing (14s) [3/95] OK
Starting work on printTweaksTheory
ml_monadStoreTheory translator/monadic (20s) [4/95] OK
Finished $(CAKEMLDIR)/translator/monadic [#theories: 1] (20.020s)
Finished $(CAKEMLDIR)/candle/syntax-lib [#theories: 1] (14.150s)
Starting work on holSyntaxTheory
source_cvTheory semantics/proofs (12s) [5/95] OK
Finished $(CAKEMLDIR)/semantics/proofs [#theories: 1] (12.840s)
Starting work on ast_extrasTheory
printTweaksTheory compiler/printing (12s) [6/95] OK
Finished $(CAKEMLDIR)/compiler/printing [#theories: 2] (27.100s)
Finished $(CAKEMLDIR)/unverified/reg_alloc (0.000s)
Finished $(CAKEMLDIR)/compiler/backend/reg_alloc (0.000s)
Starting work on x64_targetProofTheory
unify_cvTheory compiler/inference (19s) [7/95] OK
Starting work on infer_cvTheory
ast_extrasTheory candle/prover (14s) [8/95] OK
Starting work on permsTheory
holSyntaxTheory candle/standard/syntax (21s) [9/95] OK
Starting work on holSyntaxExtraTheory
holSyntaxExtraTheory candle/standard/syntax (39s) [10/95] OK
Starting work on holBoolSyntaxTheory
permsTheory candle/prover (46s) [11/95] OK
Starting work on holKernelTheory
infer_cvTheory compiler/inference (51s) [12/95] OK
Finished $(CAKEMLDIR)/compiler/inference [#theories: 2] (70.870s)
Starting work on num_list_enc_decTheory
num_list_enc_decTheory compiler/backend/serialiser (24s) [13/95] OK
Starting work on num_tree_enc_decTheory
holBoolSyntaxTheory candle/standard/syntax (32s) [14/95] OK
Starting work on holAxiomsSyntaxTheory
holKernelTheory candle/standard/monadic (32s) [15/95] OK
Starting work on holKernelPmatchTheory
num_tree_enc_decTheory compiler/backend/serialiser (19s) [16/95] OK
Starting work on holKernelProofTheory
holAxiomsSyntaxTheory candle/standard/syntax (19s) [17/95] OK
Finished $(CAKEMLDIR)/candle/standard/syntax [#theories: 4] (112.270s)
Starting work on runtime_checkTheory
holKernelPmatchTheory candle/standard/monadic (27s) [18/95] OK
Starting work on print_thmTheory
runtime_checkTheory candle/standard/ml_kernel (20s) [19/95] OK
Starting work on ml_hol_kernel_funsProgTheory
print_thmTheory candle/standard/ml_kernel (17s) [20/95] OK
Starting work on backend_enc_decTheory
holKernelProofTheory candle/standard/monadic (60s) [21/95] OK
Finished $(CAKEMLDIR)/candle/standard/monadic [#theories: 3] (119.700s)
Starting work on compute_syntaxTheory
compute_syntaxTheory candle/prover/compute (24s) [22/95] OK
Starting work on compute_evalTheory
backend_enc_decTheory compiler/backend/serialiser (63s) [23/95] OK
Starting work on compute_syntaxProofTheory
compute_evalTheory candle/prover/compute (23s) [24/95] OK
Starting work on compute_execTheory
compute_execTheory candle/prover/compute (20s) [25/95] OK
Starting work on computeTheory
computeTheory candle/prover/compute (17s) [26/95] OK
Starting work on compute_pmatchTheory
compute_pmatchTheory candle/prover/compute (22s) [27/95] OK
Finished $(CAKEMLDIR)/compiler/backend/serialiser [#theories: 3] (107.150s)
Starting work on monadic_encTheory
monadic_encTheory compiler/encoders/monadic_enc (13s) [28/95] OK
Starting work on monadic_enc64Theory
compute_syntaxProofTheory candle/prover/compute (97s) [29/95] OK
Starting work on compute_evalProofTheory
monadic_enc64Theory compiler/encoders/monadic_enc (18s) [30/95] OK
Finished $(CAKEMLDIR)/compiler/encoders/monadic_enc [#theories: 2] (31.850s)
Starting work on caml_lexTheory
compute_evalProofTheory candle/prover/compute (60s) [31/95] OK
Starting work on compute_execProofTheory
ml_hol_kernel_funsProgTheory candle/standard/ml_kernel(228s) [32/95] OK
Finished $(CAKEMLDIR)/candle/standard/ml_kernel [#theories: 3] (266.460s)
Starting work on candle_kernelProgTheory
compute_execProofTheory candle/prover/compute (17s) [33/95] OK
Starting work on computeProofTheory
computeProofTheory candle/prover/compute (46s) [34/95] OK
Finished $(CAKEMLDIR)/candle/prover/compute [#theories: 9] (329.660s)
Starting work on evaluate_skipTheory
x64_targetProofTheory compiler/encoders/x64/proofs(531s) [35/95] OK
Finished $(CAKEMLDIR)/compiler/encoders/x64/proofs [#theories: 1] (531.220s)
Starting work on x64_configProofTheory
candle_kernelProgTheory candle/prover(157s) [36/95] OK
Starting work on candle_kernel_valsTheory
evaluate_skipTheory compiler/repl(115s) [37/95] OK
Starting work on evaluate_initTheory
x64_configProofTheory compiler/backend/x64/proofs (34s) [38/95] OK
Finished $(CAKEMLDIR)/compiler/backend/x64/proofs [#theories: 1] (34.930s)
Starting work on repl_moduleProgTheory
caml_lexTheory compiler/parsing/ocaml(269s) [39/95] OK
Starting work on camlPEGTheory
candle_kernel_valsTheory candle/prover (96s) [40/95] OK
Starting work on candle_prover_invTheory
candle_prover_invTheory candle/prover (37s) [41/95] OK
Starting work on candle_kernel_permsTheory
repl_moduleProgTheory compiler/repl(119s) [42/95] OK
Starting work on repl_decs_allowedTheory
repl_decs_allowedTheory compiler/repl (35s) [43/95] OK
Starting work on repl_check_and_tweakTheory
camlPEGTheory compiler/parsing/ocaml(142s) [44/95] OK
Starting work on camlPtreeConversionTheory
repl_check_and_tweakTheory compiler/repl (60s) [45/95] OK
Starting work on repl_init_envProgTheory
candle_kernel_permsTheory candle/prover(157s) [46/95] OK
Starting work on candle_kernel_funsTheory
camlPtreeConversionTheory compiler/parsing/ocaml (69s) [47/95] OK
Starting work on caml_parserTheory
caml_parserTheory compiler/parsing/ocaml (18s) [48/95] OK
Finished $(CAKEMLDIR)/compiler/parsing/ocaml [#theories: 4] (499.320s)
Starting work on repl_init_typesTheory
repl_init_envProgTheory compiler/repl (63s) [49/95] OK
Starting work on decProgTheory
candle_kernel_funsTheory candle/prover (76s) [50/95] OK
Starting work on candle_prover_evaluateTheory
repl_init_typesTheory compiler/repl (89s) [51/95] OK
Starting work on backend_asmTheory
evaluate_initTheory compiler/repl(424s) [52/95] OK
Starting work on repl_typesTheory
backend_asmTheory compiler/backend/cv_compute (26s) [53/95] OK
Starting work on backend_arm8Theory
candle_prover_evaluateTheory candle/prover (68s) [54/95] OK
Starting work on candle_basis_evaluateTheory
backend_arm8Theory compiler/backend/cv_compute (23s) [55/95] OK
Starting work on backend_x64Theory
decProgTheory compiler/bootstrap/translation(143s) [56/95] OK
Starting work on to_flatProgTheory
backend_x64Theory compiler/backend/cv_compute (23s) [57/95] OK
Finished $(CAKEMLDIR)/compiler/backend/cv_compute [#theories: 3] (73.850s)
Starting work on to_data_cvTheory
candle_basis_evaluateTheory candle/prover (44s) [58/95] OK
Starting work on candle_prover_semanticsTheory
repl_typesTheory compiler/repl (81s) [59/95] OK
Starting work on repl_initTheory
candle_prover_semanticsTheory candle/prover(120s) [60/95] OK
Finished $(CAKEMLDIR)/candle/prover [#theories: 10] (819.960s)
Starting work on README.md
README.md compiler/bootstrap/compilation/x64/64/proofs (0s) OK
repl_initTheory compiler/repl(120s) [61/95] OK
Finished $(CAKEMLDIR)/compiler/repl [#theories: 9] (1109.400s)
to_flatProgTheory compiler/bootstrap/translation(249s) [62/95] OK
Starting work on to_closProgTheory
to_data_cvTheory cv_translator(357s) [63/95] OK
Starting work on backend_cvTheory
backend_cvTheory cv_translator(226s) [64/95] OK
Starting work on backend_64_cvTheory
to_closProgTheory compiler/bootstrap/translation(418s) [65/95] OK
Starting work on to_bvlProgTheory
backend_64_cvTheory cv_translator(191s) [66/95] OK
Starting work on backend_arm8_cvTheory
Starting work on backend_x64_cvTheory
backend_x64_cvTheory cv_translator(132s) [67/95] OK
backend_arm8_cvTheory cv_translator(150s) [68/95] OK
Starting work on cake_compile_heap
Finished $(CAKEMLDIR)/cv_translator [#theories: 5] (1137.040s)
cake_compile_heap cv_translator (78s) OK
to_bvlProgTheory compiler/bootstrap/translation(323s) [69/95] OK
Starting work on to_bviProgTheory
to_bviProgTheory compiler/bootstrap/translation(294s) [70/95] OK
Starting work on to_dataProgTheory
to_dataProgTheory compiler/bootstrap/translation(209s) [71/95] OK
Starting work on lexerProgTheory
lexerProgTheory compiler/bootstrap/translation(222s) [72/95] OK
Starting work on parserProgTheory
parserProgTheory compiler/bootstrap/translation(535s) [73/95] OK
Starting work on caml_lexProgTheory
caml_lexProgTheory compiler/bootstrap/translation(467s) [74/95] OK
Starting work on caml_parserProgTheory
caml_parserProgTheory compiler/bootstrap/translation (22m) [75/95] OK
Starting work on pancake_lexProgTheory
pancake_lexProgTheory compiler/bootstrap/translation(220s) [76/95] OK
Starting work on pancake_parseProgTheory
pancake_parseProgTheory compiler/bootstrap/translation(358s) [77/95] OK
Starting work on reg_allocProgTheory
reg_allocProgTheory compiler/bootstrap/translation(967s) [78/95] OK
Starting work on inferProgTheory
inferProgTheory compiler/bootstrap/translation(172s) FAIL<1>
*** Holmake aborted - 1 target failed:
*** inferProgTheory in compiler/bootstrap/translation (status 1)
Saved theorem _______ "t_walkstar_side_strongind"
Saved theorem _______ "t_walkstar_side_cases"
Saved theorem _______ "t_walkstar_side_def"
Saved theorem _______ "nsLookup_inferProg_env_2_pfun_eqs"
Adding nsLookup representation thms for [inferProg_env_1]
Adding nsLookup representation thms for [inferProg_env_2]
WARNING: t_walkstar has a precondition.
Saved theorem _______ "t_walkstar_v_thm"
Updating t_walkstar_v_thm
Saved theorem _______ "t_walkstar_v_thm"
Saved theorem _______ "t_walkstar_side_def"
Saved theorem _______ "t_oc_ind"
Proved triviality ___ "EXISTS_LEMMA"
Translating t_oc
Saved theorem _______ "t_oc_side_rules"
Saved theorem _______ "t_oc_side_ind"
Saved theorem _______ "t_oc_side_strongind"
Saved theorem _______ "t_oc_side_cases"
Saved theorem _______ "t_oc_side_def"
Saved theorem _______ "nsLookup_inferProg_env_3_pfun_eqs"
Adding nsLookup representation thms for [inferProg_env_3]
WARNING: t_oc has a precondition.
Saved theorem _______ "t_oc_v_thm"
Updating t_oc_v_thm
Saved theorem _______ "t_oc_v_thm"
Saved theorem _______ "t_oc_side_def"
hol2deep failed at 'lookup_v_thm'
target:
($|+ :(num |-> infer_t) -> num # infer_t -> (num |-> infer_t))
but derived:
($|+ :( |-> ) -> # -> ( |-> ))
Failed translation: SOME
Failed translation: t_ext_s_check
error in quse /scratch/cakeml/regression3/cakeml-3429/compiler/bootstrap/translation/inferProgScript.sml : HOL_ERR (HOL_ERROR {message = "Unable to find definition of option_ABS", origins = [{origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
error in load /scratch/cakeml/regression3/cakeml-3429/compiler/bootstrap/translation/inferProgScript : HOL_ERR (HOL_ERROR {message = "Unable to find definition of option_ABS", origins = [{origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
Uncaught exception at /scratch/cakeml/regression3/cakeml-3429/translator/ml_translatorLib.sml:4558: HOL_ERR (HOL_ERROR {message = "Unable to find definition of option_ABS", origins = [{origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "translate_main", origin_structure = "ml_translatorLib", source_location = Loc_Unknown}, {origin_function = "failwith", origin_structure = "??", source_location = Loc_Unknown}]})
Full log: /scratch/cakeml/regression3/cakeml-3429/compiler/bootstrap/translation/.hol/logs/inferProgTheory