CakeML:7a2d9b2a8f5d3f9ab763e6990ab67bbfb176dc58
Update bootstrap translation of bvi_tailrec
#471 (append-op)
Merging into:58eca1ffa6bb8733680a63f343b30b706b798d52
Lift some little lemmas from proofs/ to bvlSem
HOL:a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2
holyhammer: using same namespace tag as tactictoe
Machine:cakeml1797 4.4.0-22-generic x86_64 GNU/Linux
Claimed job
Building HOL
Starting semantics/ffi
Finished semantics/ffi 1m07s 485MB
Starting semantics
Finished semantics 2m38s 928MB
Starting semantics/proofs
Finished semantics/proofs 3m30s 1GB
Starting basis/pure
Finished basis/pure 6m17s 756MB
Starting translator
Finished translator 7m02s 1GB
Starting compiler/parsing
Finished compiler/parsing 2m20s 2GB
Starting characteristic
Finished characteristic 4m44s 1GB
Starting basis
Finished basis 34m11s 2GB
Starting translator/monadic
Finished translator/monadic 1s 14MB
Starting compiler/inference
Finished compiler/inference 2m50s 1GB
Starting compiler/backend/reg_alloc
Finished compiler/backend/reg_alloc 49s 630MB
Starting compiler/backend/gc
Finished compiler/backend/gc 22m04s 2GB
Starting compiler/backend
Finished compiler/backend 2s 16MB
Starting compiler/encoders/asm
Finished compiler/encoders/asm 0s 19MB
Starting compiler/encoders/x64
Finished compiler/encoders/x64 1m35s 483MB
Starting compiler/encoders/arm6
Finished compiler/encoders/arm6 3m08s 1GB
Starting compiler/encoders/arm8
Finished compiler/encoders/arm8 49s 462MB
Starting compiler/encoders/mips
Finished compiler/encoders/mips 1m26s 761MB
Starting compiler/encoders/riscv
Finished compiler/encoders/riscv 1m29s 418MB
Starting compiler/backend/x64
Finished compiler/backend/x64 43s 1GB
Starting compiler/backend/arm6
Finished compiler/backend/arm6 46s 1GB
Starting compiler/backend/arm8
Finished compiler/backend/arm8 45s 1GB
Starting compiler/backend/mips
Finished compiler/backend/mips 41s 959MB
Starting compiler/backend/riscv
Finished compiler/backend/riscv 44s 1GB
Starting compiler/parsing/proofs
Finished compiler/parsing/proofs 4m25s 820MB
Starting compiler/inference/proofs
Finished compiler/inference/proofs 4m21s 1GB
Starting compiler/backend/semantics
Finished compiler/backend/semantics 18m47s 3GB
Starting compiler/backend/reg_alloc/proofs
Finished compiler/backend/reg_alloc/proofs 1m18s 477MB
Starting compiler/backend/proofs
FAILED: compiler/backend/proofs
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/hoare-triple]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/hoare-tripleFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/hoare-triple
]0;Holmake: .Recursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/multiword
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/multiword]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/multiwordFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/machine-code/multiword
]0;Holmake: .Recursively calling Holmake in ..
]0;Holmake: ..Recursively calling Holmake in ../../../basis/pure
]0;Holmake: ../../../basis/pureRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regular
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regularRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/balanced_bst
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/balanced_bst]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/balanced_bstFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/balanced_bst
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regularRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languagesFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regularRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/context-free
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/context-free]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/context-freeFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/context-free
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regular]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regularFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/formal-languages/regular
]0;Holmake: ../../../basis/pureRecursively calling Holmake in ../../../misc
]0;Holmake: ../../../miscRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/fun-op-sem/lprefix_lub
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/fun-op-sem/lprefix_lub]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/fun-op-sem/lprefix_lubFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/fun-op-sem/lprefix_lub
]0;Holmake: ../../../miscRecursively calling Holmake in ../../../developers
]0;Holmake: ../../../developers]0;Holmake: ../../../developersFinished recursive invocation in ../../../developers
]0;Holmake: ../../../miscRecursively calling Holmake in ../../../misc/lem_lib_stub
]0;Holmake: ../../../misc/lem_lib_stub]0;Holmake: ../../../misc/lem_lib_stubFinished recursive invocation in ../../../misc/lem_lib_stub
]0;Holmake: ../../../misc]0;Holmake: ../../../miscFinished recursive invocation in ../../../misc
]0;Holmake: ../../../basis/pure]0;Holmake: ../../../basis/pureFinished recursive invocation in ../../../basis/pure
]0;Holmake: ..Recursively calling Holmake in ../reg_alloc
]0;Holmake: ../reg_allocRecursively calling Holmake in ../../../translator/monadic
]0;Holmake: ../../../translator/monadicRecursively calling Holmake in ../../../characteristic
]0;Holmake: ../../../characteristicRecursively calling Holmake in ../../../compiler/parsing
]0;Holmake: ../../../compiler/parsingRecursively calling Holmake in ../../../semantics
]0;Holmake: ../../../semanticsRecursively calling Holmake in ../../../semantics/ffi
]0;Holmake: ../../../semantics/ffi]0;Holmake: ../../../semantics/ffiFinished recursive invocation in ../../../semantics/ffi
]0;Holmake: ../../../semantics]0;Holmake: ../../../semanticsFinished recursive invocation in ../../../semantics
]0;Holmake: ../../../compiler/parsing]0;Holmake: ../../../compiler/parsingFinished recursive invocation in ../../../compiler/parsing
]0;Holmake: ../../../characteristicRecursively calling Holmake in ../../../semantics/alt_semantics/proofs
]0;Holmake: ../../../semantics/alt_semantics/proofsRecursively calling Holmake in ../../../semantics/alt_semantics
]0;Holmake: ../../../semantics/alt_semantics]0;Holmake: ../../../semantics/alt_semanticsFinished recursive invocation in ../../../semantics/alt_semantics
]0;Holmake: ../../../semantics/alt_semantics/proofsRecursively calling Holmake in ../../../semantics/proofs
]0;Holmake: ../../../semantics/proofs]0;Holmake: ../../../semantics/proofsFinished recursive invocation in ../../../semantics/proofs
]0;Holmake: ../../../semantics/alt_semantics/proofs]0;Holmake: ../../../semantics/alt_semantics/proofsFinished recursive invocation in ../../../semantics/alt_semantics/proofs
]0;Holmake: ../../../characteristicRecursively calling Holmake in ../../../translator
]0;Holmake: ../../../translator]0;Holmake: ../../../translatorFinished recursive invocation in ../../../translator
]0;Holmake: ../../../characteristic]0;Holmake: ../../../characteristicFinished recursive invocation in ../../../characteristic
]0;Holmake: ../../../translator/monadic]0;Holmake: ../../../translator/monadicFinished recursive invocation in ../../../translator/monadic
]0;Holmake: ../reg_allocRecursively calling Holmake in ../../../unverified/reg_alloc
]0;Holmake: ../../../unverified/reg_alloc]0;Holmake: ../../../unverified/reg_allocFinished recursive invocation in ../../../unverified/reg_alloc
]0;Holmake: ../reg_alloc]0;Holmake: ../reg_allocFinished recursive invocation in ../reg_alloc
]0;Holmake: ..Recursively calling Holmake in ../../encoders
]0;Holmake: ../../encoders]0;Holmake: ../../encodersFinished recursive invocation in ../../encoders
]0;Holmake: ..Recursively calling Holmake in ../../encoders/asm
]0;Holmake: ../../encoders/asmRecursively calling Holmake in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/l3-machine-code/common
]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/l3-machine-code/common]0;Holmake: /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/l3-machine-code/commonFinished recursive invocation in /scratch/cakeml/regression/HOL-a31858a63d0b071c3cd0b2ebfb3cc81f5d0ef9e2/examples/l3-machine-code/common
]0;Holmake: ../../encoders/asm]0;Holmake: ../../encoders/asmFinished recursive invocation in ../../encoders/asm
]0;Holmake: ..]0;Holmake: ..Finished recursive invocation in ..
]0;Holmake: .Recursively calling Holmake in ../gc
]0;Holmake: ../gc]0;Holmake: ../gcFinished recursive invocation in ../gc
]0;Holmake: .Recursively calling Holmake in ../reg_alloc/proofs
]0;Holmake: ../reg_alloc/proofs]0;Holmake: ../reg_alloc/proofsFinished recursive invocation in ../reg_alloc/proofs
]0;Holmake: .Recursively calling Holmake in ../semantics
]0;Holmake: ../semantics]0;Holmake: ../semanticsFinished recursive invocation in ../semantics
]0;Holmake: .]0;Holmake: .Starting work on heap
heap OK
Starting work on data_liveProofTheory
Starting work on data_simpProofTheory
Starting work on data_spaceProofTheory
Starting work on bvi_letProofTheory
data_simpProofTheory OK
Starting work on bvi_tailrecProofTheory
data_spaceProofTheory OK
Starting work on bvl_constProofTheory
bvi_letProofTheory OK
Starting work on bvl_jumpProofTheory
bvl_jumpProofTheory OK
Starting work on clos_annotateProofTheory
data_liveProofTheory OK
Starting work on bvi_to_dataProofTheory
bvl_constProofTheory OK
Starting work on bvl_handleProofTheory
clos_annotateProofTheory OK
Starting work on clos_callProofTheory
bvl_handleProofTheory OK
Starting work on bvl_inlineProofTheory
bvl_inlineProofTheory OK
Starting work on clos_knownPropsTheory
clos_knownPropsTheory OK
Starting work on clos_knownProofTheory
bvi_to_dataProofTheory OK
Starting work on clos_mtiProofTheory
clos_mtiProofTheory OK
Starting work on clos_numberProofTheory
bvi_tailrecProofTheory OK
Starting work on bvl_to_bviProofTheory
clos_knownProofTheory OK
Starting work on con_to_decProofTheory
con_to_decProofTheory OK
Starting work on word_simpProofTheory
clos_numberProofTheory OK
Starting work on word_bignumProofTheory
word_simpProofTheory OK
Starting work on word_gcFunctionsTheory
clos_callProofTheory OK
Starting work on clos_to_bvlProofTheory
word_gcFunctionsTheory OK
Starting work on data_to_word_memoryProofTheory
bvl_to_bviProofTheory OK
Starting work on word_allocProofTheory
word_bignumProofTheory OK
Starting work on word_instProofTheory
clos_to_bvlProofTheory OK
Starting work on word_removeProofTheory
word_instProofTheory OK
Starting work on exh_reorderProofTheory
word_removeProofTheory OK
Starting work on exh_to_patProofTheory
exh_reorderProofTheory OK
Starting work on dec_to_exhProofTheory
dec_to_exhProofTheory OK
Starting work on lab_filterProofTheory
data_to_word_memoryProofTheory OK
Starting work on stack_removeProofTheory
exh_to_patProofTheory OK
Starting work on mod_to_conProofTheory
lab_filterProofTheory OK
Starting work on pat_to_closProofTheory
pat_to_closProofTheory OK
Starting work on source_to_modProofTheory
mod_to_conProofTheory OK
Starting work on stack_allocProofTheory
source_to_modProofTheory OK
Starting work on stack_namesProofTheory
stack_removeProofTheory OK
Starting work on lab_to_targetProofTheory
stack_namesProofTheory OK
Starting work on word_to_stackProofTheory
word_allocProofTheory OK
Starting work on word_to_wordProofTheory
word_to_wordProofTheory OK
Starting work on data_to_word_gcProofTheory
lab_to_targetProofTheory OK
data_to_word_gcProofTheory OK
Starting work on data_to_word_bignumProofTheory
data_to_word_bignumProofTheory OK
Starting work on data_to_word_assignProofTheory
stack_allocProofTheory OK
Starting work on stack_to_labProofTheory
data_to_word_assignProofTheory FAILED! <1>
prove
(
(
Parse.Term
[
QUOTE
" (*#loc 2555 5*)!xs ww (t:('a,'ffi)wordSem$state) vars ptr hdr l k frame r1 r2 next_free.\n memory_rel c t.be (s:'ffi dataSem$state).refs sp t.store t.memory t.mdomain\n ((list_to_v xs,Word ww)::vars) /\\ xs <> [] /\\\n lookup 10 t.locals = SOME (Word ptr) /\\\n lookup 8 t.locals = SOME (Word (bytes_in_word * n2w (sp - k))) /\\\n lookup 6 t.locals = SOME (Word hdr) /\\\n lookup 4 t.locals = SOME (Word ww) /\\\n lookup 2 t.locals = SOME (Word next_free) /\\\n lookup 0 t.locals = SOME (Loc r1 r2) /\\\n k + 3 * LENGTH xs <= sp /\\ good_dimindex (:'a) /\\\n sp * (dimindex (:\206\177) DIV 8) < dimword (:\206\177) /\\\n FLOOKUP t.store (Temp 0w) = SOME tmp0 /\\\n FLOOKUP t.store (Temp 2w) = SOME tmp2 /\\\n FLOOKUP t.store NextFree = SOME (Word f) /\\\n Abbrev (next_free = f + bytes_in_word * n2w k) /\\\n lookup AppendMainLoop_location t.code = SOME (6,AppendMainLoop_code c) /\\\n (word_list_exists next_free (3 * LENGTH xs) * frame)\n (fun2set (t.memory,t.mdomain)) /\\ LENGTH xs <= t.clock ==>\n ?m1 ws.\n evaluate (AppendMainLoop_code c,t) =\n (SOME (Result (Loc r1 r2) tmp2),\n t with <| locals := LN ;\n store := t.store |+ (NextFree, Word (next_free +\n bytes_in_word * n2w (3 * LENGTH xs))) ;\n memory := m1 ;\n clock := t.clock - (LENGTH xs - 1) |>) /\\\n LENGTH ws = LENGTH xs /\\\n (word_list next_free (append_writes c ptr hdr ws tmp0) * frame)\n (fun2set (m1,t.mdomain)) /\\\n memory_rel c t.be s.refs sp t.store m1 t.mdomain\n (ZIP (xs,ws)++vars)"
]),
... \\ ... \\ ... ... \\ fs [...]
)
word_to_stackProofTheory M-KILLED
stack_to_labProofTheory M-KILLED