Effect4

R14: A sketch checks and explains its types: holes and the gap, graduality, the focus, minimal type slices and total markingreq:R14

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.md §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_conservative in src/Effect4/Laws/Program/Sketch.lean.
  • Focus replacement is stated by NodeHasTy.replace in 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.lattice_minimal in src/Effect4/Laws/Slice/Lattice.lean.

The plan on this page gives each theorem's status and the goals it rests on.

R14 by concept: each concept its nodes are placed at, by tag or by module. An arrow goes where a node's proof reaches a node of another concept.
The figure in words
NodeStatusRests onNearest nodes
lattice_minimalproved—valid_max, minimal_refine, descend_minimal, descend_le, exists_minimal_below
holes_conservativeproved—withHoles_extends, Program.check_restrict
sketch_weakeningproved—sketch_reads_its_holes, sketch_more_holes
hole_hasTyproved—normalize_idem, withHoles_rowOf
NodeHasTy.replaceproved—replace_envAt
replace_envAtproved—child_step
check_closedproved—annotationsClosed_of_formed, check_sound, hasTy_closed
Program.refusals_nil_iffproved—check_sound, refusals_of_hasTy, Program.refusals_head
hasTy_extSlotEnvproved—check_complete, check_sound
callAt_rowTyproved—check_sound, focusAt_eq_some
Program.annotate_eq_tableproved—check_eq, table_eq_tableAt
Sketch.annotate_eq_tableproved—checkLayers_eq, check_eq, bodies_eq, addresses_eq_cons, eq_defs_of_isBlock, partAt_plain, ne_defs_of_isBlock, checkModule_eq_check, Program.annotate_eq_table, annotateModule_plain
table_fillproved—annotateModule_fill, Sketch.annotate_eq_table, sigAt_part, check_fill_kept, fillAt_some
reached_viewproved—view_type, reached_coherent, view_refusals, run_keeps
check_filled_moduleproved—withHoles_extends, checkModule_restrict
max_assocproved—max_le
max_commproved—max_le
max_idemproved—max_le
max_leproved——
max_monoproved—max_le
closedproved—typeOfProgram_closed_app
checkAction_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
checkEffs_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
checkLayer_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
checkLayers_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
checkStmt_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
checkStmts_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
check_alg_agreeOnproved——
check_eqproved—tableAt_eq_cons, tableAt_none, checkStmt_step_binds, effTy_of_check, termTy_of_term?
Annotate.check_restrictproved—check_alg_agreeOn, cata_eff_congr_on, hom_eq_cata_eff
bodyAt_typedproved——
BodiesHasTy.replaceproved—hasTy_replace_focusAt, focusAt_typed, replaceAt_eff
matchArgsB_monotoneproved—matchArgsB_least, matchArgsB_complete, matchArgsB_sound
checkAction_rebaseproved——
checkEffs_rebaseproved——
checkLayer_rebaseproved——
checkLayers_rebaseproved——
checkStmt_rebaseproved——
checkStmt_step_bindsproved——
checkStmts_rebaseproved——
check_rebaseproved——
appendproved——
nilproved——
pushproved—append
closed_armsproved—closed_tagArms, closed_diffTag, closed_payloadTy, closed_optionTy
extproved——
feed_coherentproved—table_omit, table_fill, effTy_of_check, check_sound, check_eq, typedAt_table, typedAt_table_nil, Sketch.annotate_eq_table
feed_keepsproved——
feed_repaintproved—mem_splice, feed_spliced, feed_shown
feed_shownproved—check_eq
feed_splicedproved——
feed_undoproved—feed_coherent, ext, replaceAt_spec, fillAt_of_replaceAt, feed_keeps, fillAt_some
open_coherentproved—Sketch.annotate_eq_table
reached_coherentproved—open_coherent, run_coherent
run_coherentproved—feed_coherent
run_keepsproved—feed_keeps
view_refusalsproved——
view_typeproved—typedAt_table_nil
eq_defs_of_isBlockproved——
ne_defs_of_isBlockproved——
partAt_plainproved——
partAt_resigproved—bodyAt_resig
actionAll_onRefproved——
allTypes_appendproved——
allTypes_nilproved——
allTypes_singletonproved——
allTypes_zipIdx_mapproved——
annotationsAll_expandRefsproved—effAll_onRef, layerAll_of_layerAt, programAnnotations_all
annotationsClosed_of_formedproved—annotations_closed, programAnnotations_all
annotations_closedproved—closed_of_formed
argsAnnotations_allproved—allTypes_append, allTypes_nil
argumentAnnotations_allproved—declAnnotations_all, forall_mem_some, allTypes_singleton, forall_mem_none, allTypes_zipIdx_map, optionTerm_all, allTypes_append, causeAnnotations_all, termAnnotations_all, allTypes_nil
causeAnnotations_allproved—allTypes_append, optionTerm_all, termAnnotations_all
closed_of_formedproved—formed_sites_iff, closed_of_nodes
closed_of_nodesproved—mem_nodes_item, mem_nodes_field
declAnnotations_allproved——
effAll_onRefproved——
effsAll_onRefproved——
forall_mem_noneproved——
forall_mem_someproved——
formed_sites_iffproved——
inputFormed_programproved——
inputFormed_servicesproved——
layerAll_of_layerAtproved—nodeAnnotations_all, allTypes_append, foldMapAt_layer_fuse
layerAll_onRefproved——
layersAll_onRefproved——
mem_nodes_fieldproved——
mem_nodes_itemproved——
nodeAnnotations_allproved—argumentAnnotations_all, argsAnnotations_all
optionTerm_allproved—forall_mem_some, termAnnotations_all, forall_mem_none, allTypes_nil
programAnnotations_allproved—nodeAnnotations_all, allTypes_append, foldMapAt_eff_fuse
services_closedproved—closed_of_formed
stmtAll_onRefproved——
stmtsAll_onRefproved——
termAnnotations_allproved—allTypes_singleton, allTypes_nil, allTypes_append, foldMapAt_term_fuse
closed_genAnswerproved—closed_join
closed_joinAnswerTproved—closed_join
closed_mergeproved—closed_join, closed_joinAnswerT
closed_seqproved—closed_join, closed_joinAnswerT
isBlockproved——
all_of_dropWhile_nilproved——
all_of_takeWhile_lengthproved——
dropWhile_eq_nil_of_allproved——
cause_cases_of_belowproved——
cause_closedproved——
cause_leastproved—cause_cases_of_below
cause_monotoneproved—cause_reads, cause_least, cause_upper, normalize_idem, subN_trans, subN_refl, below_of_upper
cause_readsproved—cause_cases_of_below
cause_upperproved—subN_causeOf_causeUpper, subN_exitOf_causeUpper
exit_closedproved——
exit_eliminatorproved—subN_exitOf_iff, normalize_idem, subN_trans, subN_refl
exit_oneproved——
fiber_closedproved——
fiber_eliminatorproved—subN_fiberOf_iff, normalize_idem, subN_trans, subN_refl
fiber_oneproved——
list_closedproved——
list_eliminatorproved—subN_list_iff, normalize_idem, subN_trans, subN_refl
list_oneproved——
option_closedproved——
option_eliminatorproved—subN_option_iff, normalize_idem, subN_trans, subN_refl
CustomScheme.closed_applyproved—closed_causeInputError, closed_projectProduct
Scheme.closed_applyproved—CustomScheme.closed_apply, closedSubst_matchArgsB, closed_instantiate, closed_monoApply
closed_monoApplyproved——
closed_projectProductproved—closed_join
closed_typeOfproved—spec_answersClosed, Scheme.closed_apply
spec_answersClosedproved——
addresses_eq_consproved—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_appendproved——
at_childproved—at_append
at_layers_nilproved——
at_replaceAt_belowproved—replaceAt_spec, at_append
at_stmts_nilproved——
childEnv_replace_keptproved—stmtsHead_replace_kept, check_complete, check_sound, replace_envAt, child_step
child_add_threeproved——
envAt_appendproved——
envAt_childproved—envAt_append
exists_at_of_mem_foldListproved—sizeOf_child_lt, foldList_cases
foldList_casesproved——
mem_foldList_iffproved—exists_at_of_mem_foldList
replaceAt_appendproved—replaceAt_spec
replaceAt_cons_isBlockproved—setChild_isBlock
replaceAt_defs_bodyproved——
replaceAt_defs_mainproved——
replaceAt_effproved—replaceAt_spec
replaceAt_effs_headproved——
replaceAt_effs_tailproved——
setChild_isBlockproved——
sizeOf_child_ltproved——
stmtsHead_replace_keptproved—check_complete, check_sound, replace_envAt, child_step
child_stepproved—layersHasTy_cons, at_layers_nil, at_stmts_nil, effTy_map_of_hasTy
bodyAt_resigproved——
bodyAt_sigproved——
closed_checkproved——
closed_fieldOfproved——
closed_fieldTypeproved—closed_fieldOf, lift_closed
closed_setOfproved——
closed_setTypeproved—closed_setOf, lift_closed
closed_tagArmsproved——
withHoles_extendsproved——
withHoles_nilproved——
withHoles_rowOfproved——
withHoles_withHolesproved——
extends_withDefsproved——
check_fillproved—check_fill_focusAt, focusAt_typed, sigAt_part, checkModule_eq_check, check_sound, check_complete, sigAt_nil, Sketch.focusAt_nil, Sketch.check_focusAt
check_fill_focusAtproved—sigAt_part, checkModule_replace_programFocusAt, partAt_resig, check_complete, checkModule_eq_check, fillAt_of_replaceAt, sigAt_nil, check_sound, Sketch.focusAt_nil, withHoles_extends, withHoles_withHoles
check_fill_keptproved—fillAt_of_replaceAt, check_complete, check_fill_focusAt
check_filledproved—holes_conservative, checkModule_eq_check
Sketch.check_focusAtproved—checkModule_programFocusAt, Sketch.focusAt_nil
check_more_holesproved—withHoles_extends, checkModule_ext, withHoles_withHoles
check_omitproved—sigAt_extends, check_complete, hole_hasTy, check_fill
check_omit_focusAtproved—sigAt_extends, check_complete, check_fill_focusAt, hole_hasTy
check_programproved—withHoles_nil
decode_encodeproved——
decode_exactproved——
fillAt_of_replaceAtproved——
fillAt_someproved——
focusAt_atproved—focusAt_typed, partAt_at
focusAt_more_holesproved—focusAt_at, table_more_holes, typedAt_table, typedAt_table_of_focusAt, check_more_holes, Sketch.focusAt_nil
Sketch.focusAt_nilproved——
hole_hasTy_focusproved—sigAt_extends, hole_hasTy
Sketch.refusals_headproved—refusals_of_check, Sketch.table_head
Sketch.refusals_nil_iffproved—refusals_of_check, Sketch.refusals_head
refusals_of_checkproved—table_result_refusal_none
sigAt_extendsproved—extends_withDefs, bodyAt_sig
sigAt_nilproved——
sigAt_partproved——
tableEntry_pathproved——
Sketch.table_headproved—addresses_eff_head
table_more_holesproved—annotateModule_restrict, check_more_holes, withHoles_extends, withHoles_withHoles, checkModule_sound, moduleHasTy_sigProgram, Sketch.annotate_eq_table
table_omitproved—tableAt_perform, check_complete, table_more_holes, table_fill, hole_hasTy_focus, focusAt_more_holes, check_more_holes
table_result_refusal_noneproved—check_sound, check_complete, focusAt_eq_some, hasTy_focusAt, checkModule_sound, moduleHasTy_partAt_typed
bodies_eqproved—check_eq, bodyEntry_tail, bodyEntry_head, bodyEntry_nil, addresses_eq_cons
bodies_mem_underproved—under_self, bodies_eq, mem_addresses_iff, bodyAt_at
bodies_restrictproved—Annotate.check_restrict
bodies_spliceproved—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_underproved—check_eq, tableAt_path
bodyEntry_headproved——
bodyEntry_nilproved——
bodyEntry_nodeclproved——
bodyEntry_tailproved——
mem_spliceproved——
moduleLayers_restrictproved—check_alg_agreeOn
splice_all_underproved—dropWhile_eq_nil_of_all
splice_append_out_leftproved——
splice_append_out_rightproved—all_of_dropWhile_nil, all_of_takeWhile_length
splice_threeproved—splice_append_out_right, splice_append_out_left
typedAt_tableproved—effTy_of_check, focusAt_eq_some
typedAt_table_nilproved—Sketch.table_head
typedAt_table_of_focusAtproved—check_sound, check_complete, focusAt_eq_some, tableEntry_path, mem_addresses_iff, focusAt_at
under_appendproved——
under_prefix_falseproved——
under_selfproved—under_append
under_sibling_falseproved——
closed_projectproved—closed_join
closed_typeAtproved—closed_project
closedSubst_matchArgsBproved—closed_joinCands, closed_cands
closed_candsproved——
closed_diffTagproved——
closed_instantiateproved—mem_of_lookup
closed_joinCandsproved—closed_join
closed_payloadOfproved——
closed_payloadTyproved—closed_payloadOf
mem_of_lookupproved——
subN_causeOf_iffproved——
subN_exitOf_iffproved——
subN_fiberOf_iffproved——
subN_list_iffproved——
subN_option_iffproved——
adjointproved—Eliminator.lift_least, subN_trans, mapM_total, Eliminator.lift_upper
adjoint_leproved—adjoint, normalize_idem, subN_trans, subN_refl
extendAll_adjointproved—adjoint, extendAll_eq_some_iff
extendAll_botproved—extendAll_agrees, extendAll_never
extendAll_isSome_iffproved—extendAll_agrees, extendAll_eq_some_iff, adjoint, extendAll_upper
extendAll_lawsproved—extendAll_of_extend, extendAll_adjoint, extendAll_upper, extendAll_bot, extendAll_refused, extendAll_agrees
extendAll_leastproved—extendAll_adjoint
extendAll_liftproved—Eliminator.lift_least, Eliminator.lift_upper, extendAll_least, extendAll_upper, adjoint
extendAll_monoproved—extendAll_least, extendAll_isSome_iff, extendAll_upper, subN_trans
extendAll_upperproved—extendAll_adjoint
extend_adjointproved—liftOne_some, adjoint, extend_eq_some_iff
extend_botproved—extend_agrees, extend_never
extend_isSome_iffproved—extend_refused, extend_agrees, extend_eq_some_iff, liftOne_isSome_iff
extend_lawsproved—extend_two, extend_adjoint, extend_upper, extend_bot, extend_refused, extend_agrees
extend_leastproved—extend_adjoint
extend_liftOneproved—extend_upper, Eliminator.lift_least, liftOne_some, Eliminator.lift_upper, extend_least, liftOne_isSome_iff, extend_isSome_iff, liftOne_answers, extend_eq_some_iff
extend_monoproved—extend_least, extend_isSome_iff, extend_upper, subN_trans
extend_upperproved—extend_adjoint
liftOne_answersproved—Eliminator.lift_least, Eliminator.lift_upper, subN_refl, adjoint, liftOne_eq_some_iff
liftOne_isSome_iffproved—liftOne_eq_some_iff, adjoint
liftOne_monoproved—liftOne_eq_some_iff, liftOne_some, Eliminator.lift_mono
Eliminator.lift_leastproved—UnionRule.lift_least
Eliminator.lift_monoproved—monotone, UnionRule.lift_mono
Eliminator.lift_upperproved—subN_refl, UnionRule.lift_upper
monotoneproved—subN_refl, below_of_upper
lift_soundproved—lift_transfer
below_of_upperproved—subN_trans
closed_joinproved——
extendAll_agreesproved—extendAll_eq_some_iff
extendAll_closedproved—lift_closed, extendAll_eq_some_iff
extendAll_closed_pairproved—lift_closed_pair, extendAll_eq_some_iff
extendAll_eq_some_iffproved——
extendAll_neverproved—lift_never, extendAll_refused
extendAll_of_extendproved—liftOne_some, extendAll_eq_some_iff, extendAll_agrees, extend_eq_some_iff
extendAll_refusedproved——
extend_agreesproved—extend_eq_some_iff
extend_closedproved—liftOne_some, lift_closed, extend_eq_some_iff
extend_closed_pairproved—liftOne_some, lift_closed_pair, extend_eq_some_iff
extend_eq_some_iffproved——
extend_neverproved—liftOne_never, extend_refused
extend_refusedproved——
extend_twoproved—liftOne_two, extend_refused
foldl_allproved——
foldl_join_normalizeproved—normalize_idem
foldl_join_pairproved——
foldl_join_pair_startproved—foldl_join_start, foldl_join_pair
foldl_join_startproved—join_normalize_right, normalize_idem
foldl_keepsproved——
joinAll_allproved—foldl_all
joinAll_keepsproved—foldl_keeps
joinAll_leproved—joinAll_all
joinAll_normalizeproved—foldl_join_normalize
join_normalize_rightproved—normalize_idem
le_joinAllproved—joinAll_keeps
liftOne_congrproved—lift_congr
liftOne_eqproved——
liftOne_eq_some_iffproved——
liftOne_memberproved—lift_member, liftOne_eq
liftOne_neverproved——
liftOne_someproved—liftOne_eq_some_iff
liftOne_twoproved——
lift_allproved—mapM_source, joinAll_all
lift_closedproved—closed_join, lift_all
lift_closed_pairproved—closed_join, lift_all
lift_congrproved——
lift_lawsproved—lift_transfer, UnionRule.lift_mono, lift_congr, lift_member, lift_never
UnionRule.lift_leastproved—subN_trans, mapM_source, joinAll_le
lift_memberproved——
UnionRule.lift_monoproved—joinAll_le, le_joinAll, mapM_answer, mapM_total
lift_neverproved——
lift_transferproved—joinAll_keeps, mapM_answer
lift_unionproved—mapM_source, joinAll_le, le_joinAll, mapM_answer, mapM_total, members_union
lift_union_eqproved—joinAll_normalize, normalize_idem, subN_equiv_iff, lift_union_eq_of, subN_trans, subN_refl
lift_union_eq_ofproved—lift_union
lift_union_eq_of_antisymmproved—lift_union_eq_of
lift_union_eq_pairproved—joinAll_normalize, normalize_idem, foldl_join_pair, subN_equiv_iff, lift_union_eq_of, subN_trans, subN_refl
lift_uniqueproved—normalize_idem, lift_congr, foldl_join_start, mapM_cons_eq_some, normal_ofMembers
lift_unique_pairproved—normalize_idem, lift_congr, foldl_join_pair_start, mapM_cons_eq_some, normal_ofMembers
UnionRule.lift_upperproved—le_joinAll, subN_trans, mapM_answer
mapM_answerproved—mapM_cons_eq_some
mapM_cons_eq_someproved——
mapM_sourceproved—mapM_cons_eq_some
mapM_totalproved—mapM_cons_eq_some
members_unionproved——
normal_ofMembersproved——
prod_antisymmproved——
subN_iff_leproved——
actionHasTy_closedproved—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_replaceproved—NodeHasTy.replace
actionHasTy_sigProgramproved—sigOkKey_of_serviceTy
addresses_eff_headproved——
addresses_eq_foldListproved——
annotateModule_fillproved—annotateModule_fill_layers, annotateModule_fill_main, annotateModule_fill_body, eq_defs_of_isBlock, annotateModule_fill_plain, partAt_plain
annotateModule_fill_bodyproved—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_layersproved—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_mainproved—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_plainproved—ne_defs_of_isBlock, checkModule_eq_check, check_sound, table_splice, Program.annotate_eq_table, annotateModule_plain, replaceAt_cons_isBlock, isBlock
annotateModule_plainproved——
annotateModule_restrictproved—moduleLayers_restrict, bodies_restrict, Annotate.check_restrict
argTy_closedproved—closed_typeAt, closed_setType, closed_fieldType, closed_of_formed, closed_check, closed_litArgTy
argsTy_closedproved—closed_typeAt, closed_setType, closed_fieldType, closed_of_formed, closed_check, closed_litArgTy
bodiesHasTy_sigProgramproved—hasTy_sigProgram
causeInputError_causeOfproved—extendAll_agrees
causeInputError_exitOfproved—extendAll_agrees
causeInputError_upperproved—cause_upper, cause_mono, normalize_idem, subN_trans, subN_refl, UnionRule.lift_upper, subN_causeOf_causeUpper, subN_exitOf_causeUpper, extendAll_eq_some_iff
causeTy_closedproved—closed_join, termTy_closed
cause_monoproved—subN_exitOf_iff, subN_causeOf_causeUpper, subN_trans, subN_causeOf_iff
checkBodies_restrictproved—Program.check_restrict
checkModule_extproved—checkModule_sound, moduleHasTy_ext, checkModule_complete
checkModule_programFocusAtproved—checkModule_sound, moduleHasTy_programFocusAt
checkModule_replace_programFocusAtproved—checkModule_complete, check_sound, checkModule_sound, moduleHasTy_replace_programFocusAt
checkModule_restrictproved—checkBodies_restrict, Program.check_restrict
checkRow_rowBindingsproved——
Program.check_focusAtproved—check_sound, hasTy_focusAt
check_replaceproved—replaceAt_eff, check_complete, check_sound, hasTy_replace
check_replace_focusAtproved—check_sound, hasTy_replace_focusAt, check_complete, focusAt_typed, replaceAt_eff
childAddresses_map_tableEntryAtproved——
closedSig_appproved—services_closed, closed_serviceTy, closed_nativeAtomTy
closedSig_nativeproved—closed_nativeServiceTy, closed_nativeAtomTy
closed_catchIfErrorproved—closed_join
closed_causeInputErrorproved—cause_closed, extendAll_closed
closed_exitOfproved—exit_closed, extendAll_closed_pair
closed_fiberTyproved—fiber_closed, extendAll_closed_pair
closed_getDproved——
closed_joinAnswerproved—closed_join
closed_listOfproved—list_closed, extendAll_closed
closed_litArgTyproved——
closed_nativeAtomTyproved—closed_typeOf
closed_nativeServiceTyproved——
closed_optionTyproved—option_closed, lift_closed
closed_rowTyproved—closed_of_formed
closed_serviceTyproved——
effTy_map_of_hasTyproved—check_complete, check_sound
effTy_of_checkproved—check_sound, check_complete
effsHasTy_closedproved—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_replaceproved—NodeHasTy.replace
effsHasTy_sigProgramproved—sigOkKey_of_serviceTy
exitOf_exitOfproved—extendAll_agrees
exitOf_upperproved—exit_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper
fiberTy_fiberOfproved—extendAll_agrees
fiberTy_upperproved—fiber_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper
focusAt_eq_someproved——
Program.focusAt_nilproved——
focusAt_typedproved—check_sound, focusAt_eq_some
foldMapAt_action_baseproved——
foldMapAt_action_fuseproved——
foldMapAt_action_homproved——
foldMapAt_action_paths_consproved—foldMapAt_action_paths_shift
foldMapAt_action_paths_shiftproved—foldMapAt_action_hom, foldMapAt_action_base
foldMapAt_eff_baseproved——
foldMapAt_eff_fuseproved——
foldMapAt_eff_homproved——
foldMapAt_eff_paths_consproved—foldMapAt_eff_paths_shift
foldMapAt_eff_paths_shiftproved—foldMapAt_eff_hom, foldMapAt_eff_base
foldMapAt_effs_baseproved——
foldMapAt_effs_fuseproved——
foldMapAt_effs_homproved——
foldMapAt_effs_paths_consproved—foldMapAt_effs_paths_shift
foldMapAt_effs_paths_shiftproved—foldMapAt_effs_hom, foldMapAt_effs_base
foldMapAt_layer_baseproved——
foldMapAt_layer_fuseproved——
foldMapAt_layer_homproved——
foldMapAt_layer_paths_consproved—foldMapAt_layer_paths_shift
foldMapAt_layer_paths_shiftproved—foldMapAt_layer_hom, foldMapAt_layer_base
foldMapAt_layers_baseproved——
foldMapAt_layers_fuseproved——
foldMapAt_layers_homproved——
foldMapAt_layers_paths_consproved—foldMapAt_layers_paths_shift
foldMapAt_layers_paths_shiftproved—foldMapAt_layers_hom, foldMapAt_layers_base
foldMapAt_stmt_baseproved——
foldMapAt_stmt_fuseproved——
foldMapAt_stmt_homproved——
foldMapAt_stmt_paths_consproved—foldMapAt_stmt_paths_shift
foldMapAt_stmt_paths_shiftproved—foldMapAt_stmt_hom, foldMapAt_stmt_base
foldMapAt_stmts_baseproved——
foldMapAt_stmts_fuseproved——
foldMapAt_stmts_homproved——
foldMapAt_stmts_paths_consproved—foldMapAt_stmts_paths_shift
foldMapAt_stmts_paths_shiftproved—foldMapAt_stmts_hom, foldMapAt_stmts_base
foldMapAt_term_fuseproved——
foldMapAt_terms_fuseproved——
hasTy_closedproved—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_focusAtproved—check_complete, check_sound, focusAt_eq_some, replace_envAt
hasTy_replaceproved—NodeHasTy.replace
hasTy_replace_focusAtproved—check_complete, check_sound, replace_envAt, focusAt_eq_some
hasTy_sigProgramproved—sigOkKey_of_serviceTy
layerHasTy_closedproved—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_replaceproved—NodeHasTy.replace
layerHasTy_sigProgramproved—sigOkKey_of_serviceTy
layersHasTy_closedproved—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_consproved——
layersHasTy_replaceproved—NodeHasTy.replace
layersHasTy_sigProgramproved—sigOkKey_of_serviceTy
listOf_listproved—extendAll_agrees
listOf_upperproved—list_eliminator, normalize_idem, subN_trans, subN_refl, extendAll_upper
mem_addresses_iffproved—yieldAt_addressYield, mem_foldList_iff, addresses_eq_foldList
moduleHasTy_partAt_typedproved—partAt_of_hasTy, bodyAt_typed
moduleHasTy_programFocusAtproved—partAt_of_hasTy, hasTy_focusAt, bodyAt
moduleHasTy_replace_programFocusAtproved—partAt_of_hasTy, hasTy_replace_focusAt, focusAt_typed, replaceAt_eff, BodiesHasTy.replace
moduleHasTy_sigProgramproved—layerHasTy_sigProgram, hasTy_sigProgram, bodiesHasTy_sigProgram
nodeAnswer_replace_keptproved—check_complete, check_sound, replace_envAt
optionTy_eq_normalproved—liftOne_eq
optionTy_optionproved—lift_member
optionTy_upperproved—option_eliminator, normalize_idem, subN_trans, subN_refl, Eliminator.lift_upper
Program.refusals_headproved—Program.table_head, check_sound, refusals_of_hasTy
refusals_of_hasTyproved—table_result_refusal_none_of_hasTy
sigOkKey_of_serviceTyproved——
sketch_more_holesproved—withHoles_extends, check_ext, withHoles_withHoles
sketch_reads_its_holesproved—withHoles_extends, Program.check_restrict, withHoles_withHoles
stmtsHasTy_closedproved—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_replaceproved—NodeHasTy.replace
stmtsHasTy_sigProgramproved—sigOkKey_of_serviceTy
subN_causeOf_causeUpperproved——
subN_exitOf_causeUpperproved—subN_trans, subN_refl, subN_exitOf_iff
tableAt_eq_consproved—tableEntryAt_nil, childAddresses_map_tableEntryAt, addresses_eq_cons
tableAt_mem_pathproved—mem_addresses_iff
tableAt_noneproved——
tableAt_pathproved——
tableAt_performproved—tableAt_eq_cons
tableAt_rebaseproved—check_rebase
tableAt_spliceproved—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_nilproved——
table_eq_tableAtproved——
Program.table_headproved—addresses_eff_head
table_result_refusal_none_of_hasTyproved—check_sound, check_complete, focusAt_eq_some, hasTy_focusAt
table_spliceproved—check_sound, tableAt_splice, table_eq_tableAt, focusAt_eq_some
termTy_closedproved—argTy_closed
termTy_of_term?proved——
typeOfProgram_closedproved—nil, hasTy_closed, checkModule_sound, annotationsClosed_of_formed, annotationsAll_expandRefs
typeOfProgram_closed_appproved—inputFormed_program, inputFormed_services, closedSig_app, typeOfProgram_closed
yieldAt_addressYieldproved——
drop_leproved——
drop_le_of_subsetproved——
exists_mem_subslicesproved—filter_mem_sublists
failed_restproved——
failed_snocproved——
filter_mem_sublistsproved——
firstDrop_appendproved——
firstDrop_lengthproved——
instIsPreorderproved——
instLawfulOrderInfproved——
instLawfulOrderSupproved——
le_dropproved——
le_of_mem_subslicesproved—sublists_subset
not_mem_dropproved——
omitted_antiproved——
omitted_fullproved——
omitted_subsetproved——
restart_appendproved—failed_snoc, failed_rest, restart_of_some, firstDrop_append, restart_of_none, firstDrop_length
restart_eq_sweepproved—restart_append
restart_of_noneproved—firstDrop_length
restart_of_someproved—firstDrop_length
sublists_subsetproved——
sweepAsked_lengthproved——
sweepFreeAsked_sublistproved—drop_le_of_subset
sweepFree_congrproved——
sweepFree_eq_sweepproved—drop_le_of_subset
sweep_congrproved——
sweep_kept_neededproved—sweep_sublist, drop_le_of_subset
sweep_sublistproved——
sweep_validproved——
keeps_aboveproved—needs
needsproved—minimal_iff_drop
of_same_sitesproved—instIsPreorder, valid_up
contribution_leproved——
contribution_lubproved—minimals_sound, minimals_complete
contribution_validproved—descend_minimal, descend_le, instIsPreorder, contribution_lub, descend_valid, valid_up
decide_valid_upproved—valid_up
descendTree_asksproved—sweepFree_congr, parentOmitted_sound, decide_valid_up, sweepFreeAsked_sublist
descendTree_eq_descendproved—parentOmitted_sound, decide_valid_up, sweepFree_eq_sweep
descendTree_minimalproved—descendTree_eq_descend, descend_minimal
descend_asksproved—sweep_congr, sweepAsked_length
descend_eq_restartproved—decide_valid_up, restart_eq_sweep, firstDrop_length
descend_leproved—descend_sublist
descend_minimalproved—decide_valid_up, sweep_kept_needed, descend_valid, minimal_iff_drop
descend_sublistproved—sweep_sublist
descend_validproved—sweep_valid
exists_minimal_belowproved—descend_minimal, descend_le
isMinimal_iffproved—minimal_iff_drop
minimal_iff_dropproved—le_drop, valid_up, drop_le, not_mem_drop
minimal_refineproved—valid_refine, exists_minimal_below
minimals_completeproved—of_same_sites, isMinimal_iff, exists_mem_subslices
minimals_soundproved—isMinimal_iff, le_of_mem_subslices
ofOmitted_fullproved—omitted_full
parentOmitted_soundproved——
valid_maxproved—instLawfulOrderSup, instIsPreorder, valid_up
valid_refineproved——
valid_upproved——
ofJson_exactproved—read_exact
read_exactproved—readIn_exact
canonicalHex?_exactproved——
natOfBinary64_exactproved——
natOfBinary64_finiteproved——
readFields_exactproved—tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact
readIn_exactproved—tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact
readList_exactproved—tagOfName_exact, canonicalHex?_exact, natOfBinary64_exact
tagOfName_exactproved——
except_error_bindproved——
except_ok_bindproved——
except_pureproved——
Program.check_restrictproved—cata_eff_congr_on, hom_eq_cata_eff
normalize_idemproved——
check_soundproved——
check_completeproved——
checkModule_eq_checkproved——
cata_eff_congr_onproved——
hom_eq_cata_effproved——
matchArgsB_leastproved—candsList_below, solve_between
matchArgsB_completeproved—covers, candsList_below, solve_between
matchArgsB_soundproved——
replaceAt_specproved——
subN_transproved——
subN_reflproved——
partAt_atproved—bodyAt_at
checkModule_soundproved—check_sound
bodyAt_atproved——
subN_equiv_iffproved—sub_antisymm_canonical, normalize_idem
moduleHasTy_extproved——
checkModule_completeproved—checkModule_eq_check, check_complete
partAt_of_hasTyproved——
bodyAtproved——
check_extproved—check_sound, check_complete
candsList_belowproved—cands_below
solve_betweenproved—joinCands_upper, lookup_solve_seed, mem_lowers, joinCands_least, instantiate_solve
coversproved—above_args, above_prod, prod_or_not, recovers, cands_args, args, below_args, cands_union_right, head, cands_var
sub_antisymm_canonicalproved——
cands_belowproved—args, comp_ne_contra, cands_args, below_args, cands_union_right, cands_mem_members, head, cands_var
joinCands_upperproved—normalize_idem, subN_trans, subN_refl
lookup_solve_seedproved——
mem_lowersproved——
joinCands_leastproved—subN_join_least, subN_never
instantiate_solveproved—lookup_added
above_argsproved—mem_zip_map_right, instance_shape
above_prodproved——
prod_or_notproved——
recoversproved—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_argsproved—candsItems_eq, candsFields_eq, comp_inv, comp_co
argsproved—noApp_args
below_argsproved——
cands_union_rightproved——
headproved——
cands_varproved——
comp_ne_contraproved—comp_inv, comp_co
cands_mem_membersproved—cands_union_right
subN_join_leastproved—normalize_idem
subN_neverproved——
lookup_addedproved—lowers_cons
mem_zip_map_rightproved——
instance_shapeproved——
mem_zip_self_mapproved——
mem_varsOf_argsproved——
prod_right_candsproved—head, args, cands_var, cands_mem_members, prod_member_right
prod_left_candsproved—head, args, cands_var, cands_mem_members, prod_member_left
candsItems_eqproved——
candsFields_eqproved——
comp_invproved——
comp_coproved——
noApp_argsproved—noAppItems_eq_all, noAppFields_eq_all
lowers_consproved——
prod_member_rightproved——
prod_member_leftproved——
noAppItems_eq_allproved——
noAppFields_eq_allproved——