R14: A sketch checks and explains its types: holes and the gap, graduality, the focus, minimal type slices and total markingreq:R14
- Open, needs a definition (the map of positions of a stored sketch): sketch-renumbering (proposed claim; initial-algebras-folds): a stored sketch is pinned to the row count of its application; when the application gains a row before the hole table, a map of positions renames the program's operations, each operation keeps its row, and the sketch keeps its type; no theorem states it, and Eff has no map on its operations today; a stale hole is not refused as such, since it reads the row that now stands at its position (two red controls, Test/Program/SketchControls.lean); at the authoring surface a hole is its row's spelling, and no position is stale; the consumer is an author who adds a host row while a sketch is open (docs/research/2026-10-06-seat-SKETCH-receipt.md, open obligation 1; decisions row 291)
- Open, needs a definition (the admission of a sketch with its hole table, with a located refusal): sketch-admission (proposed claim; residual-program-typing): a located refusal for a sketch with its hole table: signature admission at the extended application, raw formation of each hole row, and closed columns; Sketch.check is the checker's answer and admits no sketch to a later stage; the checker types a hole whose declared answer repeats a record field, which raw formation refuses; the consumer is the first tool that stores a sketch (the receipt, open obligation 2); since the variable rule, strict formation of a hole row's raw column gives its closed column too (Formation.closed_of_formed)
- Open, worded as a proposed claim: column-graduality (proposed claim; context-requirements): under a hole row that declares the answer alone, omitting more gives the same answer, a smaller error and a smaller requirement, where each omitted address has no closed edge above it or its node's error is never; a closed edge is a place where a child's error enters a value type: the body of catchCause, catchIf, matchCause, onExit or exit, and the program of a fork; it is the one fact that a slice view of the error or of the requirement column owes (docs/research/2026-10-06-seat-LATTICE-receipt.md, section 7); read upward it is the completion of a type slice; with three declared columns an omission keeps the whole type where the focus's columns are closed, formed and in normal form (Sketch.check_omit); elsewhere the hole row is read in normal form, and an omission can change the type of the whole or be refused (the controls on a pair and on mapFromEntries, Test/Program/ReplaceControls.lean); a filling has no such premise; a finite census holds it at 4833 single omissions and 1033 whole masks of 201 programs, with none refused, and outside the premise 4 of 49 omissions are refused (docs/research/2026-10-06-seat-CENSUS-receipt.md, section 5.3); no goal states it; slice COLUMN
- Open, worded as a proposed claim: marking-agrees (proposed claim; initial-algebras-folds): a checker that marks each local failure answers on every program, its first mark is the located refusal of explain, it has no mark exactly where the program is admitted, and a marked program is admitted modulo its holes when each mark is read as a hole; the first three clauses are proved for the list of refusals of the address table (the claim address-table), which is slow; open: a mark after a refused sibling, where the table's entry is not reached, and the fourth clause; the natural form of the pass is the checker over a monad, which rewrites the 65 fields of the checker's algebra and each proof that unfolds one, so it gets its own design; the one pass that answers every address is landed (annotate, the claim annotate-table), with the table as its specification; a marking pass is that traversal with a mark where it refuses (docs/research/2026-10-06-seat-TRACE-receipt.md, the section on the printer; decisions rows 302, 324); slice PASS
- Open, needs a definition (the expected type that an analysing rule passes to a part, as a function): expected-type-slice (proposed claim; subtyping-algebra): each analysing rule of the checker has a minimal slice of its context that still expects the queried type: the row's declaration, the declared field, the cursor type; not stated
- Open, worded as a proposed claim: checker-monotone (proposed claim; subtyping-algebra): with every eliminator and every test by equality reading a union member by member and total at never, and with no loop that binds one parameter at two covariant places, a typed term stays typed at a smaller type under a pointwise smaller environment, and a program stays admitted at a smaller type when a child is replaced by a program of a smaller type; false today at the tests by equality and at a loop with no cursor annotation (seat GAP's probes); the term guard and the guards of the converted rules are gone (slice UNGUARD, slice P2b); the match by bounds is landed, so the clauses on schemes and rows are gone, and its share at a template is proved (Bounds.matchArgsB_monotone; decisions row 303); the list rule, the exit rule, the option rule and the cause rule are converted (decisions row 304); it is the law of filling a hole at a smaller type and of the answer-only column slices, and the guarantee for an omission does not need it; its union groundwork is proved (union-rule-lift): each converted rule owes the three facts of UnionRule.Eliminator, a rule that reads two heads owes four member facts of an upper map, and the record rules owe UnionRule.Below; the fiber rule is converted (union-rule-extend), and a converted rule's full fallback is monotone at every smaller type (Eliminator.extendAll_mono); the TypeScript printer writes the type arguments at a join (typed-print-connector); at a row it needs the row's answer to read each parameter at co or bi (row-answer-polarity, by instantiate-respects-polarity), which every built-in row and atom scheme meets except Ref.make and Ref.set, whose answer reads the parameter invariantly, so the environment half fails there at nat below number (Test/Program/RowPolarity.lean, E4-POL-CE-001, decisions row 342); open: the proof over the whole checker (candidate N, decisions rows 282, 285, 292, 293, 298)
- Open, needs a definition (the gap as a leaf of `Ty` (slice GAPLEAF)): gap-conservative, gap-necessary, gap-graduality and gap-exact-off-cells (proposed claims; subtyping-algebra, with R2 and R3 for the appended leaf): with one gap per hole, the gap check on a program with no gap is the checker; a program with holes that some hole table admits passes the gap check; an omission passes the gap check at a gap type that has the original's type as an instance; off invariant positions a program that passes the gap check is admitted by some hole table; at a cell the content converts by the rule with bounds, since the member-by-member rule accepts pairs with no witness; tested on finite models and not compiled (the study, sections 5.2, 5.5 and 5.6); the leaf Ty.gap is stage 6 of the study's plan, and the coordinator tells the owner before the append lands (decisions rows 282, 288); they replace the part gradual-checker
- Open, needs a definition (a data hole that waits at a frontier and takes a reply): fill-by-term (proposed claim; translation-simulation): a reply of a term's value at a hole's frontier and the filled program have one observation; a data hole waits at a frontier as a host row does today, and a handler for a hole's operation waits for a consumer; designed and not compiled (the study, section 7)
Requirement R14: A sketch checks and explains its typesabout:req:R14
This page explains requirement R14 in Effect4. It covers what the requirement asks for sketches and typed holes, why type slicing matters, and how the property is checked.
What the requirement asksabout:req:R14:what-it-asks
Requirement R14 demands that incomplete programs check incrementally and explain typing decisions across all subtrees (docs/core/system-map. §8, row 282):
- Conservative sketch extension: a sketch with typed holes admits program syntax as a conservative extension of standard typing (
holes_conservative). - Typed replacement: replacing a focus at an address with a fitting sub-program keeps typing under
NodeHasTy(NodeHasTy.).replace - Address table coverage: the address table lists typing environments and checker diagnostics for every node (
refusals_nil_iff). - Minimal type slices: every queried type fact possesses a minimal slice over monotone property views (
SliceView.).lattice_minimal
An edit session updates the address table incrementally without rechecking unrelated subtrees.
Why it mattersabout:req:R14:why-it-matters
Interactive development environments, code editors, and language servers require immediate feedback on partial programs during authoring.
If typing checks require fully finished programs, developers receive no guidance while constructing complex effectful pipelines.
Providing typed holes, incremental replacement, and located refusals across address tables enables responsive tooling, precise diagnostic reporting, and guided refactoring.
How it is checkedabout:req:R14:how-it-is-checked
The requirement is checked by proving conservative sketch extension, typed replacement, address table agreement, and minimal lattice slicing:
- Conservative sketch admission is stated by
holes_conservativeinsrc/Effect4/Laws/Program/Sketch..lean - Focus replacement is stated by
NodeHasTy.inreplace src/Effect4/Laws/Program/Typing/Replace..lean - Address table diagnostic agreement is stated by
refusals_nil_iff(src/Effect4/Laws/Program/Typing/Table.).lean - Minimal type slicing is stated by
SliceView.inlattice_minimal src/Effect4/Laws/Slice/Lattice..lean
The plan on this page gives each theorem's status and the goals it rests on.
The figure in words
- Subtyping Algebra proved, 327 nodes → No concept, Initial Algebras & Folds
- Initial Algebras & Folds proved, 241 nodes → No concept, Host Session Protocol
- Exact Codecs proved, 11 nodes
- No concept proved, 8 nodes
- Host Session Protocol proved, 4 nodes
| Node | Status | Rests on | Nearest nodes |
|---|---|---|---|
lattice_minimal | proved | — | valid_max, minimal_refine, descend_minimal, descend_le, exists_minimal_below |
holes_conservative | proved | — | withHoles_extends, Program. |
sketch_weakening | proved | — | sketch_reads_its_holes, sketch_more_holes |
hole_hasTy | proved | — | normalize_idem, withHoles_rowOf |
NodeHasTy. | proved | — | replace_envAt |
replace_envAt | proved | — | child_step |
check_closed | proved | — | annotationsClosed_of_formed, check_sound, hasTy_closed |
Program. | proved | — | check_sound, refusals_of_hasTy, Program. |
hasTy_extSlotEnv | proved | — | check_complete, check_sound |
callAt_rowTy | proved | — | check_sound, focusAt_eq_some |
Program. | proved | — | check_eq, table_eq_tableAt |
Sketch. | proved | — | checkLayers_eq, check_eq, bodies_eq, addresses_eq_cons, eq_defs_of_isBlock, partAt_plain, ne_defs_of_isBlock, checkModule_eq_check, Program., annotateModule_plain |
table_fill | proved | — | annotateModule_fill, Sketch., sigAt_part, check_fill_kept, fillAt_some |
reached_view | proved | — | view_type, reached_coherent, view_refusals, run_keeps |
check_filled_module | proved | — | withHoles_extends, checkModule_restrict |
max_assoc | proved | — | max_le |
max_comm | proved | — | max_le |
max_idem | proved | — | max_le |
max_le | proved | — | — |
max_mono | proved | — | max_le |
closed | proved | — | typeOfProgram_closed_app |
checkAction_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
checkEffs_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
checkLayer_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
checkLayers_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
checkStmt_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
checkStmts_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
check_alg_agreeOn | proved | — | — |
check_eq | proved | — | tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term? |
Annotate. | proved | — | check_alg_agreeOn, cata_eff_congr_on, hom_eq_cata_eff |
bodyAt_typed | proved | — | — |
BodiesHasTy. | proved | — | hasTy_replace_focusAt, focusAt_typed, replaceAt_eff |
matchArgsB_monotone | proved | — | matchArgsB_least, matchArgsB_complete, matchArgsB_sound |
checkAction_rebase | proved | — | — |
checkEffs_rebase | proved | — | — |
checkLayer_rebase | proved | — | — |
checkLayers_rebase | proved | — | — |
checkStmt_rebase | proved | — | — |
checkStmt_step_binds | proved | — | — |
checkStmts_rebase | proved | — | — |
check_rebase | proved | — | — |
append | proved | — | — |
nil | proved | — | — |
push | proved | — | append |
closed_arms | proved | — | closed_tagArms, closed_diffTag, closed_payloadTy, closed_optionTy |
ext | proved | — | — |
feed_coherent | proved | — | table_omit, table_fill, effTy_of_check, check_sound, check_eq, typedAt_table, typedAt_table_nil, Sketch. |
feed_keeps | proved | — | — |
feed_repaint | proved | — | mem_splice, feed_spliced, feed_shown |
feed_shown | proved | — | check_eq |
feed_spliced | proved | — | — |
feed_undo | proved | — | feed_coherent, ext, replaceAt_spec, fillAt_of_replaceAt, feed_keeps, fillAt_some |
open_coherent | proved | — | Sketch. |
reached_coherent | proved | — | open_coherent, run_coherent |
run_coherent | proved | — | feed_coherent |
run_keeps | proved | — | feed_keeps |
view_refusals | proved | — | — |
view_type | proved | — | typedAt_table_nil |
eq_defs_of_isBlock | proved | — | — |
ne_defs_of_isBlock | proved | — | — |
partAt_plain | proved | — | — |
partAt_resig | proved | — | bodyAt_resig |
actionAll_onRef | proved | — | — |
allTypes_append | proved | — | — |
allTypes_nil | proved | — | — |
allTypes_singleton | proved | — | — |
allTypes_zipIdx_map | proved | — | — |
annotationsAll_expandRefs | proved | — | effAll_onRef, layerAll_of_layerAt, programAnnotations_all |
annotationsClosed_of_formed | proved | — | annotations_closed, programAnnotations_all |
annotations_closed | proved | — | closed_of_formed |
argsAnnotations_all | proved | — | allTypes_append, allTypes_nil |
argumentAnnotations_all | proved | — | declAnnotations_all, forall_mem_some, allTypes_singleton, forall_mem_none, allTypes_zipIdx_map, optionTerm_all, allTypes_append, causeAnnotations_all, termAnnotations_all, allTypes_nil |
causeAnnotations_all | proved | — | allTypes_append, optionTerm_all, termAnnotations_all |
closed_of_formed | proved | — | formed_sites_iff, closed_of_nodes |
closed_of_nodes | proved | — | mem_nodes_item, mem_nodes_field |
declAnnotations_all | proved | — | — |
effAll_onRef | proved | — | — |
effsAll_onRef | proved | — | — |
forall_mem_none | proved | — | — |
forall_mem_some | proved | — | — |
formed_sites_iff | proved | — | — |
inputFormed_program | proved | — | — |
inputFormed_services | proved | — | — |
layerAll_of_layerAt | proved | — | nodeAnnotations_all, allTypes_append, foldMapAt_layer_fuse |
layerAll_onRef | proved | — | — |
layersAll_onRef | proved | — | — |
mem_nodes_field | proved | — | — |
mem_nodes_item | proved | — | — |
nodeAnnotations_all | proved | — | argumentAnnotations_all, argsAnnotations_all |
optionTerm_all | proved | — | forall_mem_some, termAnnotations_all, forall_mem_none, allTypes_nil |
programAnnotations_all | proved | — | nodeAnnotations_all, allTypes_append, foldMapAt_eff_fuse |
services_closed | proved | — | closed_of_formed |
stmtAll_onRef | proved | — | — |
stmtsAll_onRef | proved | — | — |
termAnnotations_all | proved | — | allTypes_singleton, allTypes_nil, allTypes_append, foldMapAt_term_fuse |
closed_genAnswer | proved | — | closed_join |
closed_joinAnswerT | proved | — | closed_join |
closed_merge | proved | — | closed_join, closed_joinAnswerT |
closed_seq | proved | — | closed_join, closed_joinAnswerT |
isBlock | proved | — | — |
all_of_dropWhile_nil | proved | — | — |
all_of_takeWhile_length | proved | — | — |
dropWhile_eq_nil_of_all | proved | — | — |
cause_cases_of_below | proved | — | — |
cause_closed | proved | — | — |
cause_least | proved | — | cause_cases_of_below |
cause_monotone | proved | — | cause_reads, cause_least, cause_upper, normalize_idem, subN_trans, subN_refl, below_of_upper |
cause_reads | proved | — | cause_cases_of_below |
cause_upper | proved | — | subN_causeOf_causeUpper, subN_exitOf_causeUpper |
exit_closed | proved | — | — |
exit_eliminator | proved | — | subN_exitOf_iff, normalize_idem, subN_trans, subN_refl |
exit_one | proved | — | — |
fiber_closed | proved | — | — |
fiber_eliminator | proved | — | subN_fiberOf_iff, normalize_idem, subN_trans, subN_refl |
fiber_one | proved | — | — |
list_closed | proved | — | — |
list_eliminator | proved | — | subN_list_iff, normalize_idem, subN_trans, subN_refl |
list_one | proved | — | — |
option_closed | proved | — | — |
option_eliminator | proved | — | subN_option_iff, normalize_idem, subN_trans, subN_refl |
CustomScheme. | proved | — | closed_causeInputError, closed_projectProduct |
Scheme. | proved | — | CustomScheme., closedSubst_matchArgsB, closed_instantiate, closed_monoApply |
closed_monoApply | proved | — | — |
closed_projectProduct | proved | — | closed_join |
closed_typeOf | proved | — | spec_answersClosed, Scheme. |
spec_answersClosed | proved | — | — |
addresses_eq_cons | proved | — | foldMapAt_stmt_paths_cons, foldMapAt_layers_paths_cons, foldMapAt_effs_paths_cons, foldMapAt_layer_paths_cons, foldMapAt_action_paths_cons, foldMapAt_stmts_paths_cons, foldMapAt_eff_paths_cons |
at_append | proved | — | — |
at_child | proved | — | at_append |
at_layers_nil | proved | — | — |
at_replaceAt_below | proved | — | replaceAt_spec, at_append |
at_stmts_nil | proved | — | — |
childEnv_replace_kept | proved | — | stmtsHead_replace_kept, check_complete, check_sound, replace_envAt, child_step |
child_add_three | proved | — | — |
envAt_append | proved | — | — |
envAt_child | proved | — | envAt_append |
exists_at_of_mem_foldList | proved | — | sizeOf_child_lt, foldList_cases |
foldList_cases | proved | — | — |
mem_foldList_iff | proved | — | exists_at_of_mem_foldList |
replaceAt_append | proved | — | replaceAt_spec |
replaceAt_cons_isBlock | proved | — | setChild_isBlock |
replaceAt_defs_body | proved | — | — |
replaceAt_defs_main | proved | — | — |
replaceAt_eff | proved | — | replaceAt_spec |
replaceAt_effs_head | proved | — | — |
replaceAt_effs_tail | proved | — | — |
setChild_isBlock | proved | — | — |
sizeOf_child_lt | proved | — | — |
stmtsHead_replace_kept | proved | — | check_complete, check_sound, replace_envAt, child_step |
child_step | proved | — | layersHasTy_cons, at_layers_nil, at_stmts_nil, effTy_map_of_hasTy |
bodyAt_resig | proved | — | — |
bodyAt_sig | proved | — | — |
closed_check | proved | — | — |
closed_fieldOf | proved | — | — |
closed_fieldType | proved | — | closed_fieldOf, lift_closed |
closed_setOf | proved | — | — |
closed_setType | proved | — | closed_setOf, lift_closed |
closed_tagArms | proved | — | — |
withHoles_extends | proved | — | — |
withHoles_nil | proved | — | — |
withHoles_rowOf | proved | — | — |
withHoles_withHoles | proved | — | — |
extends_withDefs | proved | — | — |
check_fill | proved | — | check_fill_focusAt, focusAt_typed, sigAt_part, checkModule_eq_check, check_sound, check_complete, sigAt_nil, Sketch., Sketch. |
check_fill_focusAt | proved | — | sigAt_part, checkModule_replace_programFocusAt, partAt_resig, check_complete, checkModule_eq_check, fillAt_of_replaceAt, sigAt_nil, check_sound, Sketch., withHoles_extends, withHoles_withHoles |
check_fill_kept | proved | — | fillAt_of_replaceAt, check_complete, check_fill_focusAt |
check_filled | proved | — | holes_conservative, checkModule_eq_check |
Sketch. | proved | — | checkModule_programFocusAt, Sketch. |
check_more_holes | proved | — | withHoles_extends, checkModule_ext, withHoles_withHoles |
check_omit | proved | — | sigAt_extends, check_complete, hole_hasTy, check_fill |
check_omit_focusAt | proved | — | sigAt_extends, check_complete, check_fill_focusAt, hole_hasTy |
check_program | proved | — | withHoles_nil |
decode_encode | proved | — | — |
decode_exact | proved | — | — |
fillAt_of_replaceAt | proved | — | — |
fillAt_some | proved | — | — |
focusAt_at | proved | — | focusAt_typed, partAt_at |
focusAt_more_holes | proved | — | focusAt_at, table_more_holes, typedAt_table, typedAt_table_of_focusAt, check_more_holes, Sketch. |
Sketch. | proved | — | — |
hole_hasTy_focus | proved | — | sigAt_extends, hole_hasTy |
Sketch. | proved | — | refusals_of_check, Sketch. |
Sketch. | proved | — | refusals_of_check, Sketch. |
refusals_of_check | proved | — | table_result_refusal_none |
sigAt_extends | proved | — | extends_withDefs, bodyAt_sig |
sigAt_nil | proved | — | — |
sigAt_part | proved | — | — |
tableEntry_path | proved | — | — |
Sketch. | proved | — | addresses_eff_head |
table_more_holes | proved | — | annotateModule_restrict, check_more_holes, withHoles_extends, withHoles_withHoles, checkModule_sound, moduleHasTy_sigProgram, Sketch. |
table_omit | proved | — | tableAt_perform, check_complete, table_more_holes, table_fill, hole_hasTy_focus, focusAt_more_holes, check_more_holes |
table_result_refusal_none | proved | — | check_sound, check_complete, focusAt_eq_some, hasTy_focusAt, checkModule_sound, moduleHasTy_partAt_typed |
bodies_eq | proved | — | check_eq, bodyEntry_tail, bodyEntry_head, bodyEntry_nil, addresses_eq_cons |
bodies_mem_under | proved | — | under_self, bodies_eq, mem_addresses_iff, bodyAt_at |
bodies_restrict | proved | — | Annotate. |
bodies_splice | proved | — | splice_append_out_left, tableAt_path, replaceAt_effs_tail, splice_three, under_sibling_false, bodies_under, under_self, tableAt_mem_path, under_prefix_false, check_eq, check_sound, tableAt_splice, focusAt_eq_some, replaceAt_effs_head |
bodies_under | proved | — | check_eq, tableAt_path |
bodyEntry_head | proved | — | — |
bodyEntry_nil | proved | — | — |
bodyEntry_nodecl | proved | — | — |
bodyEntry_tail | proved | — | — |
mem_splice | proved | — | — |
moduleLayers_restrict | proved | — | check_alg_agreeOn |
splice_all_under | proved | — | dropWhile_eq_nil_of_all |
splice_append_out_left | proved | — | — |
splice_append_out_right | proved | — | all_of_dropWhile_nil, all_of_takeWhile_length |
splice_three | proved | — | splice_append_out_right, splice_append_out_left |
typedAt_table | proved | — | effTy_of_check, focusAt_eq_some |
typedAt_table_nil | proved | — | Sketch. |
typedAt_table_of_focusAt | proved | — | check_sound, check_complete, focusAt_eq_some, tableEntry_path, mem_addresses_iff, focusAt_at |
under_append | proved | — | — |
under_prefix_false | proved | — | — |
under_self | proved | — | under_append |
under_sibling_false | proved | — | — |
closed_project | proved | — | closed_join |
closed_typeAt | proved | — | closed_project |
closedSubst_matchArgsB | proved | — | closed_joinCands, closed_cands |
closed_cands | proved | — | — |
closed_diffTag | proved | — | — |
closed_instantiate | proved | — | mem_of_lookup |
closed_joinCands | proved | — | closed_join |
closed_payloadOf | proved | — | — |
closed_payloadTy | proved | — | closed_payloadOf |
mem_of_lookup | proved | — | — |
subN_causeOf_iff | proved | — | — |
subN_exitOf_iff | proved | — | — |
subN_fiberOf_iff | proved | — | — |
subN_list_iff | proved | — | — |
subN_option_iff | proved | — | — |
adjoint | proved | — | Eliminator., subN_trans, mapM_total, Eliminator. |
adjoint_le | proved | — | adjoint, normalize_idem, subN_trans, subN_refl |
extendAll_adjoint | proved | — | adjoint, extendAll_eq_some_iff |
extendAll_bot | proved | — | extendAll_agrees, extendAll_never |
extendAll_isSome_iff | proved | — | extendAll_agrees, extendAll_eq_some_iff, adjoint, extendAll_upper |
extendAll_laws | proved | — | extendAll_of_extend, extendAll_adjoint, extendAll_upper, extendAll_bot, extendAll_refused, extendAll_agrees |
extendAll_least | proved | — | extendAll_adjoint |
extendAll_lift | proved | — | Eliminator., Eliminator., extendAll_least, extendAll_upper, adjoint |
extendAll_mono | proved | — | extendAll_least, extendAll_isSome_iff, extendAll_upper, subN_trans |
extendAll_upper | proved | — | extendAll_adjoint |
extend_adjoint | proved | — | liftOne_some, adjoint, extend_eq_some_iff |
extend_bot | proved | — | extend_agrees, extend_never |
extend_isSome_iff | proved | — | extend_refused, extend_agrees, extend_eq_some_iff, liftOne_isSome_iff |
extend_laws | proved | — | extend_two, extend_adjoint, extend_upper, extend_bot, extend_refused, extend_agrees |
extend_least | proved | — | extend_adjoint |
extend_liftOne | proved | — | extend_upper, Eliminator., liftOne_some, Eliminator., extend_least, liftOne_isSome_iff, extend_isSome_iff, liftOne_answers, extend_eq_some_iff |
extend_mono | proved | — | extend_least, extend_isSome_iff, extend_upper, subN_trans |
extend_upper | proved | — | extend_adjoint |
liftOne_answers | proved | — | Eliminator., Eliminator., subN_refl, adjoint, liftOne_eq_some_iff |
liftOne_isSome_iff | proved | — | liftOne_eq_some_iff, adjoint |
liftOne_mono | proved | — | liftOne_eq_some_iff, liftOne_some, Eliminator. |
Eliminator. | proved | — | UnionRule. |
Eliminator. | proved | — | monotone, UnionRule. |
Eliminator. | proved | — | subN_refl, UnionRule. |
monotone | proved | — | subN_refl, below_of_upper |
lift_sound | proved | — | lift_transfer |
below_of_upper | proved | — | subN_trans |
closed_join | proved | — | — |
extendAll_agrees | proved | — | extendAll_eq_some_iff |
extendAll_closed | proved | — | lift_closed, extendAll_eq_some_iff |
extendAll_closed_pair | proved | — | lift_closed_pair, extendAll_eq_some_iff |
extendAll_eq_some_iff | proved | — | — |
extendAll_never | proved | — | lift_never, extendAll_refused |
extendAll_of_extend | proved | — | liftOne_some, extendAll_eq_some_iff, extendAll_agrees, extend_eq_some_iff |
extendAll_refused | proved | — | — |
extend_agrees | proved | — | extend_eq_some_iff |
extend_closed | proved | — | liftOne_some, lift_closed, extend_eq_some_iff |
extend_closed_pair | proved | — | liftOne_some, lift_closed_pair, extend_eq_some_iff |
extend_eq_some_iff | proved | — | — |
extend_never | proved | — | liftOne_never, extend_refused |
extend_refused | proved | — | — |
extend_two | proved | — | liftOne_two, extend_refused |
foldl_all | proved | — | — |
foldl_join_normalize | proved | — | normalize_idem |
foldl_join_pair | proved | — | — |
foldl_join_pair_start | proved | — | foldl_join_start, foldl_join_pair |
foldl_join_start | proved | — | join_normalize_right, normalize_idem |
foldl_keeps | proved | — | — |
joinAll_all | proved | — | foldl_all |
joinAll_keeps | proved | — | foldl_keeps |
joinAll_le | proved | — | joinAll_all |
joinAll_normalize | proved | — | foldl_join_normalize |
join_normalize_right | proved | — | normalize_idem |
le_joinAll | proved | — | joinAll_keeps |
liftOne_congr | proved | — | lift_congr |
liftOne_eq | proved | — | — |
liftOne_eq_some_iff | proved | — | — |
liftOne_member | proved | — | lift_member, liftOne_eq |
liftOne_never | proved | — | — |
liftOne_some | proved | — | liftOne_eq_some_iff |
liftOne_two | proved | — | — |
lift_all | proved | — | mapM_source, joinAll_all |
lift_closed | proved | — | closed_join, lift_all |
lift_closed_pair | proved | — | closed_join, lift_all |
lift_congr | proved | — | — |
lift_laws | proved | — | lift_transfer, UnionRule., lift_congr, lift_member, lift_never |
UnionRule. | proved | — | subN_trans, mapM_source, joinAll_le |
lift_member | proved | — | — |
UnionRule. | proved | — | joinAll_le, le_joinAll, mapM_answer, mapM_total |
lift_never | proved | — | — |
lift_transfer | proved | — | joinAll_keeps, mapM_answer |
lift_union | proved | — | mapM_source, joinAll_le, le_joinAll, mapM_answer, mapM_total, members_union |
lift_union_eq | proved | — | joinAll_normalize, normalize_idem, subN_equiv_iff, lift_union_eq_of, subN_trans, subN_refl |
lift_union_eq_of | proved | — | lift_union |
lift_union_eq_of_antisymm | proved | — | lift_union_eq_of |
lift_union_eq_pair | proved | — | joinAll_normalize, normalize_idem, foldl_join_pair, subN_equiv_iff, lift_union_eq_of, subN_trans, subN_refl |
lift_unique | proved | — | normalize_idem, lift_congr, foldl_join_start, mapM_cons_eq_some, normal_ofMembers |
lift_unique_pair | proved | — | normalize_idem, lift_congr, foldl_join_pair_start, mapM_cons_eq_some, normal_ofMembers |
UnionRule. | proved | — | le_joinAll, subN_trans, mapM_answer |
mapM_answer | proved | — | mapM_cons_eq_some |
mapM_cons_eq_some | proved | — | — |
mapM_source | proved | — | mapM_cons_eq_some |
mapM_total | proved | — | mapM_cons_eq_some |
members_union | proved | — | — |
normal_ofMembers | proved | — | — |
prod_antisymm | proved | — | — |
subN_iff_le | proved | — | — |
actionHasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
actionHasTy_replace | proved | — | NodeHasTy. |
actionHasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
addresses_eff_head | proved | — | — |
addresses_eq_foldList | proved | — | — |
annotateModule_fill | proved | — | annotateModule_fill_layers, annotateModule_fill_main, annotateModule_fill_body, eq_defs_of_isBlock, annotateModule_fill_plain, partAt_plain |
annotateModule_fill_body | proved | — | splice_three, checkLayers_eq, tableAt_path, under_sibling_false, check_eq, bodies_mem_under, focusAt_eq_some, bodies_splice, checkModule_sound, moduleHasTy_partAt_typed, replaceAt_defs_body |
annotateModule_fill_layers | proved | — | splice_append_out_left, check_eq, tableAt_path, under_sibling_false, bodies_under, checkLayers_eq, check_sound, tableAt_splice, focusAt_eq_some, checkModule_sound |
annotateModule_fill_main | proved | — | splice_three, checkLayers_eq, tableAt_path, under_self, tableAt_mem_path, under_sibling_false, bodies_under, check_eq, check_sound, tableAt_splice, focusAt_eq_some, checkModule_sound, moduleHasTy_partAt_typed, replaceAt_defs_main |
annotateModule_fill_plain | proved | — | ne_defs_of_isBlock, checkModule_eq_check, check_sound, table_splice, Program., annotateModule_plain, replaceAt_cons_isBlock, isBlock |
annotateModule_plain | proved | — | — |
annotateModule_restrict | proved | — | moduleLayers_restrict, bodies_restrict, Annotate. |
argTy_closed | proved | — | closed_typeAt, closed_setType, closed_fieldType, closed_of_formed, closed_check, closed_litArgTy |
argsTy_closed | proved | — | closed_typeAt, closed_setType, closed_fieldType, closed_of_formed, closed_check, closed_litArgTy |
bodiesHasTy_sigProgram | proved | — | hasTy_sigProgram |
causeInputError_causeOf | proved | — | extendAll_agrees |
causeInputError_exitOf | proved | — | extendAll_agrees |
causeInputError_upper | proved | — | cause_upper, cause_mono, normalize_idem, subN_trans, subN_refl, UnionRule., subN_causeOf_causeUpper, subN_exitOf_causeUpper, extendAll_eq_some_iff |
causeTy_closed | proved | — | closed_join, termTy_closed |
cause_mono | proved | — | subN_exitOf_iff, subN_causeOf_causeUpper, subN_trans, subN_causeOf_iff |
checkBodies_restrict | proved | — | Program. |
checkModule_ext | proved | — | checkModule_sound, moduleHasTy_ext, checkModule_complete |
checkModule_programFocusAt | proved | — | checkModule_sound, moduleHasTy_programFocusAt |
checkModule_replace_programFocusAt | proved | — | checkModule_complete, check_sound, checkModule_sound, moduleHasTy_replace_programFocusAt |
checkModule_restrict | proved | — | checkBodies_restrict, Program. |
checkRow_rowBindings | proved | — | — |
Program. | proved | — | check_sound, hasTy_focusAt |
check_replace | proved | — | replaceAt_eff, check_complete, check_sound, hasTy_replace |
check_replace_focusAt | proved | — | check_sound, hasTy_replace_focusAt, check_complete, focusAt_typed, replaceAt_eff |
childAddresses_map_tableEntryAt | proved | — | — |
closedSig_app | proved | — | services_closed, closed_serviceTy, closed_nativeAtomTy |
closedSig_native | proved | — | closed_nativeServiceTy, closed_nativeAtomTy |
closed_catchIfError | proved | — | closed_join |
closed_causeInputError | proved | — | cause_closed, extendAll_closed |
closed_exitOf | proved | — | exit_closed, extendAll_closed_pair |
closed_fiberTy | proved | — | fiber_closed, extendAll_closed_pair |
closed_getD | proved | — | — |
closed_joinAnswer | proved | — | closed_join |
closed_listOf | proved | — | list_closed, extendAll_closed |
closed_litArgTy | proved | — | — |
closed_nativeAtomTy | proved | — | closed_typeOf |
closed_nativeServiceTy | proved | — | — |
closed_optionTy | proved | — | option_closed, lift_closed |
closed_rowTy | proved | — | closed_of_formed |
closed_serviceTy | proved | — | — |
effTy_map_of_hasTy | proved | — | check_complete, check_sound |
effTy_of_check | proved | — | check_sound, check_complete |
effsHasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
effsHasTy_replace | proved | — | NodeHasTy. |
effsHasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
exitOf_exitOf | proved | — | extendAll_agrees |
exitOf_upper | proved | — | exit_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper |
fiberTy_fiberOf | proved | — | extendAll_agrees |
fiberTy_upper | proved | — | fiber_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper |
focusAt_eq_some | proved | — | — |
Program. | proved | — | — |
focusAt_typed | proved | — | check_sound, focusAt_eq_some |
foldMapAt_action_base | proved | — | — |
foldMapAt_action_fuse | proved | — | — |
foldMapAt_action_hom | proved | — | — |
foldMapAt_action_paths_cons | proved | — | foldMapAt_action_paths_shift |
foldMapAt_action_paths_shift | proved | — | foldMapAt_action_hom, foldMapAt_action_base |
foldMapAt_eff_base | proved | — | — |
foldMapAt_eff_fuse | proved | — | — |
foldMapAt_eff_hom | proved | — | — |
foldMapAt_eff_paths_cons | proved | — | foldMapAt_eff_paths_shift |
foldMapAt_eff_paths_shift | proved | — | foldMapAt_eff_hom, foldMapAt_eff_base |
foldMapAt_effs_base | proved | — | — |
foldMapAt_effs_fuse | proved | — | — |
foldMapAt_effs_hom | proved | — | — |
foldMapAt_effs_paths_cons | proved | — | foldMapAt_effs_paths_shift |
foldMapAt_effs_paths_shift | proved | — | foldMapAt_effs_hom, foldMapAt_effs_base |
foldMapAt_layer_base | proved | — | — |
foldMapAt_layer_fuse | proved | — | — |
foldMapAt_layer_hom | proved | — | — |
foldMapAt_layer_paths_cons | proved | — | foldMapAt_layer_paths_shift |
foldMapAt_layer_paths_shift | proved | — | foldMapAt_layer_hom, foldMapAt_layer_base |
foldMapAt_layers_base | proved | — | — |
foldMapAt_layers_fuse | proved | — | — |
foldMapAt_layers_hom | proved | — | — |
foldMapAt_layers_paths_cons | proved | — | foldMapAt_layers_paths_shift |
foldMapAt_layers_paths_shift | proved | — | foldMapAt_layers_hom, foldMapAt_layers_base |
foldMapAt_stmt_base | proved | — | — |
foldMapAt_stmt_fuse | proved | — | — |
foldMapAt_stmt_hom | proved | — | — |
foldMapAt_stmt_paths_cons | proved | — | foldMapAt_stmt_paths_shift |
foldMapAt_stmt_paths_shift | proved | — | foldMapAt_stmt_hom, foldMapAt_stmt_base |
foldMapAt_stmts_base | proved | — | — |
foldMapAt_stmts_fuse | proved | — | — |
foldMapAt_stmts_hom | proved | — | — |
foldMapAt_stmts_paths_cons | proved | — | foldMapAt_stmts_paths_shift |
foldMapAt_stmts_paths_shift | proved | — | foldMapAt_stmts_hom, foldMapAt_stmts_base |
foldMapAt_term_fuse | proved | — | — |
foldMapAt_terms_fuse | proved | — | — |
hasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
hasTy_focusAt | proved | — | check_complete, check_sound, focusAt_eq_some, replace_envAt |
hasTy_replace | proved | — | NodeHasTy. |
hasTy_replace_focusAt | proved | — | check_complete, check_sound, replace_envAt, focusAt_eq_some |
hasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
layerHasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
layerHasTy_replace | proved | — | NodeHasTy. |
layerHasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
layersHasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
layersHasTy_cons | proved | — | — |
layersHasTy_replace | proved | — | NodeHasTy. |
layersHasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
listOf_list | proved | — | extendAll_agrees |
listOf_upper | proved | — | list_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper |
mem_addresses_iff | proved | — | yieldAt_addressYield, mem_foldList_iff, addresses_eq_foldList |
moduleHasTy_partAt_typed | proved | — | partAt_of_hasTy, bodyAt_typed |
moduleHasTy_programFocusAt | proved | — | partAt_of_hasTy, hasTy_focusAt, bodyAt |
moduleHasTy_replace_programFocusAt | proved | — | partAt_of_hasTy, hasTy_replace_focusAt, focusAt_typed, replaceAt_eff, BodiesHasTy. |
moduleHasTy_sigProgram | proved | — | layerHasTy_sigProgram, hasTy_sigProgram, bodiesHasTy_sigProgram |
nodeAnswer_replace_kept | proved | — | check_complete, check_sound, replace_envAt |
optionTy_eq_normal | proved | — | liftOne_eq |
optionTy_option | proved | — | lift_member |
optionTy_upper | proved | — | option_eliminator, normalize_idem, subN_trans, subN_refl, Eliminator. |
Program. | proved | — | Program., check_sound, refusals_of_hasTy |
refusals_of_hasTy | proved | — | table_result_refusal_none_of_hasTy |
sigOkKey_of_serviceTy | proved | — | — |
sketch_more_holes | proved | — | withHoles_extends, check_ext, withHoles_withHoles |
sketch_reads_its_holes | proved | — | withHoles_extends, Program., withHoles_withHoles |
stmtsHasTy_closed | proved | — | closed_join, nil, closed_fiberTy, closed_listOf, termTy_closed, closed_joinAnswer, closed_merge, closed_seq, push, closed_getD, append, closed_arms, closed_catchIfError, closed_genAnswer, closed_rowTy, causeTy_closed |
stmtsHasTy_replace | proved | — | NodeHasTy. |
stmtsHasTy_sigProgram | proved | — | sigOkKey_of_serviceTy |
subN_causeOf_causeUpper | proved | — | — |
subN_exitOf_causeUpper | proved | — | subN_trans, subN_refl, subN_exitOf_iff |
tableAt_eq_cons | proved | — | tableEntryAt_nil, childAddresses_map_tableEntryAt, addresses_eq_cons |
tableAt_mem_path | proved | — | mem_addresses_iff |
tableAt_none | proved | — | — |
tableAt_path | proved | — | — |
tableAt_perform | proved | — | tableAt_eq_cons |
tableAt_rebase | proved | — | check_rebase |
tableAt_splice | proved | — | child_add_three, splice_three, tableAt_eq_cons, under_prefix_false, tableAt_mem_path, under_sibling_false, nodeAnswer_replace_kept, childEnv_replace_kept, child_step, under_append, tableAt_path, splice_all_under |
tableEntryAt_nil | proved | — | — |
table_eq_tableAt | proved | — | — |
Program. | proved | — | addresses_eff_head |
table_result_refusal_none_of_hasTy | proved | — | check_sound, check_complete, focusAt_eq_some, hasTy_focusAt |
table_splice | proved | — | check_sound, tableAt_splice, table_eq_tableAt, focusAt_eq_some |
termTy_closed | proved | — | argTy_closed |
termTy_of_term? | proved | — | — |
typeOfProgram_closed | proved | — | nil, hasTy_closed, checkModule_sound, annotationsClosed_of_formed, annotationsAll_expandRefs |
typeOfProgram_closed_app | proved | — | inputFormed_program, inputFormed_services, closedSig_app, typeOfProgram_closed |
yieldAt_addressYield | proved | — | — |
drop_le | proved | — | — |
drop_le_of_subset | proved | — | — |
exists_mem_subslices | proved | — | filter_mem_sublists |
failed_rest | proved | — | — |
failed_snoc | proved | — | — |
filter_mem_sublists | proved | — | — |
firstDrop_append | proved | — | — |
firstDrop_length | proved | — | — |
instIsPreorder | proved | — | — |
instLawfulOrderInf | proved | — | — |
instLawfulOrderSup | proved | — | — |
le_drop | proved | — | — |
le_of_mem_subslices | proved | — | sublists_subset |
not_mem_drop | proved | — | — |
omitted_anti | proved | — | — |
omitted_full | proved | — | — |
omitted_subset | proved | — | — |
restart_append | proved | — | failed_snoc, failed_rest, restart_of_some, firstDrop_append, restart_of_none, firstDrop_length |
restart_eq_sweep | proved | — | restart_append |
restart_of_none | proved | — | firstDrop_length |
restart_of_some | proved | — | firstDrop_length |
sublists_subset | proved | — | — |
sweepAsked_length | proved | — | — |
sweepFreeAsked_sublist | proved | — | drop_le_of_subset |
sweepFree_congr | proved | — | — |
sweepFree_eq_sweep | proved | — | drop_le_of_subset |
sweep_congr | proved | — | — |
sweep_kept_needed | proved | — | sweep_sublist, drop_le_of_subset |
sweep_sublist | proved | — | — |
sweep_valid | proved | — | — |
keeps_above | proved | — | needs |
needs | proved | — | minimal_iff_drop |
of_same_sites | proved | — | instIsPreorder, valid_up |
contribution_le | proved | — | — |
contribution_lub | proved | — | minimals_sound, minimals_complete |
contribution_valid | proved | — | descend_minimal, descend_le, instIsPreorder, contribution_lub, descend_valid, valid_up |
decide_valid_up | proved | — | valid_up |
descendTree_asks | proved | — | sweepFree_congr, parentOmitted_sound, decide_valid_up, sweepFreeAsked_sublist |
descendTree_eq_descend | proved | — | parentOmitted_sound, decide_valid_up, sweepFree_eq_sweep |
descendTree_minimal | proved | — | descendTree_eq_descend, descend_minimal |
descend_asks | proved | — | sweep_congr, sweepAsked_length |
descend_eq_restart | proved | — | decide_valid_up, restart_eq_sweep, firstDrop_length |
descend_le | proved | — | descend_sublist |
descend_minimal | proved | — | decide_valid_up, sweep_kept_needed, descend_valid, minimal_iff_drop |
descend_sublist | proved | — | sweep_sublist |
descend_valid | proved | — | sweep_valid |
exists_minimal_below | proved | — | descend_minimal, descend_le |
isMinimal_iff | proved | — | minimal_iff_drop |
minimal_iff_drop | proved | — | le_drop, valid_up, drop_le, not_mem_drop |
minimal_refine | proved | — | valid_refine, exists_minimal_below |
minimals_complete | proved | — | of_same_sites, isMinimal_iff, exists_mem_subslices |
minimals_sound | proved | — | isMinimal_iff, le_of_mem_subslices |
ofOmitted_full | proved | — | omitted_full |
parentOmitted_sound | proved | — | — |
valid_max | proved | — | instLawfulOrderSup, instIsPreorder, valid_up |
valid_refine | proved | — | — |
valid_up | proved | — | — |
ofJson_exact | proved | — | read_exact |
read_exact | proved | — | readIn_exact |
canonicalHex?_exact | proved | — | — |
natOfBinary64_exact | proved | — | — |
natOfBinary64_finite | proved | — | — |
readFields_exact | proved | — | tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact |
readIn_exact | proved | — | tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact |
readList_exact | proved | — | tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact |
tagOfName_exact | proved | — | — |
except_error_bind | proved | — | — |
except_ok_bind | proved | — | — |
except_pure | proved | — | — |
Program. | proved | — | cata_eff_congr_on, hom_eq_cata_eff |
normalize_idem | proved | — | — |
check_sound | proved | — | — |
check_complete | proved | — | — |
checkModule_eq_check | proved | — | — |
cata_eff_congr_on | proved | — | — |
hom_eq_cata_eff | proved | — | — |
matchArgsB_least | proved | — | candsList_below, solve_between |
matchArgsB_complete | proved | — | covers, candsList_below, solve_between |
matchArgsB_sound | proved | — | — |
replaceAt_spec | proved | — | — |
subN_trans | proved | — | — |
subN_refl | proved | — | — |
partAt_at | proved | — | bodyAt_at |
checkModule_sound | proved | — | check_sound |
bodyAt_at | proved | — | — |
subN_equiv_iff | proved | — | sub_antisymm_canonical, normalize_idem |
moduleHasTy_ext | proved | — | — |
checkModule_complete | proved | — | checkModule_eq_check, check_complete |
partAt_of_hasTy | proved | — | — |
bodyAt | proved | — | — |
check_ext | proved | — | check_sound, check_complete |
candsList_below | proved | — | cands_below |
solve_between | proved | — | joinCands_upper, lookup_solve_seed, mem_lowers, joinCands_least, instantiate_solve |
covers | proved | — | above_args, above_prod, prod_or_not, recovers, cands_args, args, below_args, cands_union_right, head, cands_var |
sub_antisymm_canonical | proved | — | — |
cands_below | proved | — | args, comp_ne_contra, cands_args, below_args, cands_union_right, cands_mem_members, head, cands_var |
joinCands_upper | proved | — | normalize_idem, subN_trans, subN_refl |
lookup_solve_seed | proved | — | — |
mem_lowers | proved | — | — |
joinCands_least | proved | — | subN_join_least, subN_never |
instantiate_solve | proved | — | lookup_added |
above_args | proved | — | mem_zip_map_right, instance_shape |
above_prod | proved | — | — |
prod_or_not | proved | — | — |
recovers | proved | — | mem_zip_self_map, cands_args, instance_shape, mem_varsOf_args, prod_right_cands, prod_left_cands, args, prod_or_not, head, cands_var |
cands_args | proved | — | candsItems_eq, candsFields_eq, comp_inv, comp_co |
args | proved | — | noApp_args |
below_args | proved | — | — |
cands_union_right | proved | — | — |
head | proved | — | — |
cands_var | proved | — | — |
comp_ne_contra | proved | — | comp_inv, comp_co |
cands_mem_members | proved | — | cands_union_right |
subN_join_least | proved | — | normalize_idem |
subN_never | proved | — | — |
lookup_added | proved | — | lowers_cons |
mem_zip_map_right | proved | — | — |
instance_shape | proved | — | — |
mem_zip_self_map | proved | — | — |
mem_varsOf_args | proved | — | — |
prod_right_cands | proved | — | head, args, cands_var, cands_mem_members, prod_member_right |
prod_left_cands | proved | — | head, args, cands_var, cands_mem_members, prod_member_left |
candsItems_eq | proved | — | — |
candsFields_eq | proved | — | — |
comp_inv | proved | — | — |
comp_co | proved | — | — |
noApp_args | proved | — | noAppItems_eq_all, noAppFields_eq_all |
lowers_cons | proved | — | — |
prod_member_right | proved | — | — |
prod_member_left | proved | — | — |
noAppItems_eq_all | proved | — | — |
noAppFields_eq_all | proved | — | — |