Documentation Verification Report

Computation

πŸ“ Source: Mathlib/Data/Seq/Computation.lean

Statistics

MetricCount
DefinitionsComputation, f, g, BisimO, f, IsBisimulation, LiftRel, LiftRelAux, Promises, Results, Terminates, bind, corec, destruct, empty, get, head, instAlternativeComputation, instBind, instCoeTC, instInhabited, instMembership, join, length, lmap, map, memRecOn, monad, orElse, pure, recOn, rmap, run, runFor, tail, terminatesRecOn, think, thinkN, Β«term_~>_Β», Β«term_~__1Β»
40
Theoremsequivalence, refl, trans, equiv, imp, refl, swap, trans, ret_left, ret_right, swap, lem, left_unique, len_unique, length, mem, terminates, val_unique, term, bind_assoc, bind_congr, bind_promises, bind_pure, bind_pure', corec_eq, destruct_empty, destruct_eq_pure, destruct_eq_think, destruct_map, destruct_pure, destruct_think, empty_orElse, empty_promises, eq_empty_of_not_terminates, eq_of_bisim, eq_of_pure_mem, eq_thinkN, eq_thinkN', equiv_of_mem, equiv_pure_of_mem, exists_of_liftRel_left, exists_of_liftRel_right, exists_of_mem_bind, exists_of_mem_map, exists_results_of_mem, get_bind, get_eq_of_mem, get_eq_of_promises, get_equiv, get_mem, get_promises, get_pure, get_think, get_thinkN, has_bind_eq_bind, has_map_eq_map, head_empty, head_pure, head_think, instLawfulMonad, le_stable, length_bind, length_pure, length_think, length_thinkN, liftRelAux_inl_inl, liftRelAux_inl_inr, liftRelAux_inr_inl, liftRelAux_inr_inr, liftRel_bind, liftRel_congr, liftRel_def, liftRel_map, liftRel_mem_cases, liftRel_of_mem, liftRel_pure, liftRel_pure_left, liftRel_pure_right, liftRel_rec, liftRel_think_left, liftRel_think_right, lift_eq_iff_equiv, map_comp, map_congr, map_id, map_pure, map_pure', map_think, map_think', mem_bind, mem_map, mem_of_get_eq, mem_of_promises, mem_promises, mem_pure_iff, mem_unique, notMem_empty, not_terminates_empty, of_results_bind, of_results_think, of_thinkN_terminates, of_think_mem, of_think_terminates, orElse_empty, orElse_pure, orElse_think, promises_congr, pure_def, rel_of_liftRel, results_bind, results_of_terminates, results_of_terminates', results_pure, results_think, results_thinkN, results_thinkN_pure, results_think_iff, ret_bind, ret_mem, ret_orElse, ret_terminates, tail_empty, tail_pure, tail_think, terminates_bind, terminates_congr, terminates_def, terminates_iff, terminates_map, terminates_map_iff, terminates_of_liftRel, terminates_of_mem, thinkN_equiv, thinkN_mem, thinkN_terminates, think_bind, think_empty, think_equiv, think_mem, think_terminates
140
Total180

Computation

Definitions

NameCategoryTheorems
BisimO πŸ“–MathDefβ€”
IsBisimulation πŸ“–MathDefβ€”
LiftRel πŸ“–MathDef
21 mathmath: liftRel_congr, liftRel_pure, liftRel_pure_left, Stream'.WSeq.liftRel_destruct, liftRel_think_right, Stream'.WSeq.destruct_congr_iff, LiftRel.swap, LiftRel.refl, LiftRel.equiv, LiftRel.trans, Stream'.WSeq.liftRel_destruct_iff, Stream'.WSeq.destruct_congr, LiftRelRec.lem, liftRel_pure_right, LiftRel.symm, liftRel_rec, Stream'.WSeq.liftRel_dropn_destruct, liftRel_of_mem, lift_eq_iff_equiv, liftRel_def, liftRel_think_left
LiftRelAux πŸ“–MathDef
7 mathmath: LiftRelAux.swap, LiftRelAux.ret_left, liftRelAux_inr_inr, liftRelAux_inr_inl, liftRelAux_inl_inl, liftRelAux_inl_inr, LiftRelAux.ret_right
Promises πŸ“–MathDef
5 mathmath: promises_congr, get_promises, mem_promises, parallel_congr_lem, empty_promises
Results πŸ“–MathDef
6 mathmath: exists_results_of_mem, results_of_terminates, results_pure, results_of_terminates', results_think_iff, results_thinkN_pure
Terminates πŸ“–CompData
30 mathmath: Stream'.WSeq.productive_iff, Stream'.WSeq.head_terminates_iff, Stream'.WSeq.toList_terminates, terminates_parallel, Stream'.WSeq.destruct_terminates_of_get?_terminates, terminates_map_iff, of_thinkN_terminates, not_terminates_empty, Stream'.WSeq.IsFinite.out, think_terminates, Stream'.WSeq.head_terminates, terminates_map, Stream'.WSeq.get?_terminates_le, Stream'.WSeq.Productive.get?_terminates, Results.terminates, terminates_bind, of_think_terminates, Stream'.WSeq.get?_terminates, terminates_of_mem, terminates_parallel.aux, terminates_def, terminates_congr, terminates_of_liftRel, terminates_iff, ret_terminates, Stream'.WSeq.head_terminates_of_head_tail_terminates, Stream'.WSeq.head_terminates_of_mem, liftRel_def, Stream'.WSeq.head_terminates_of_get?_terminates, thinkN_terminates
bind πŸ“–CompOp
16 mathmath: bind_assoc, Stream'.WSeq.destruct_join, bind_pure, results_bind, terminates_bind, bind_promises, bind_congr, liftRel_bind, has_bind_eq_bind, Stream'.WSeq.destruct_append, get_bind, think_bind, ret_bind, bind_pure', length_bind, mem_bind
corec πŸ“–CompOpβ€”
destruct πŸ“–CompOp
7 mathmath: destruct_empty, destruct_pure, LiftRelAux.ret_left, destruct_map, destruct_think, corec_eq, LiftRelAux.ret_right
empty πŸ“–CompOp
11 mathmath: destruct_empty, orElse_empty, not_terminates_empty, tail_empty, think_empty, parallel_empty, empty_orElse, notMem_empty, head_empty, eq_empty_of_not_terminates, empty_promises
get πŸ“–CompOp
12 mathmath: eq_thinkN', get_think, get_promises, get_pure, get_mem, get_eq_of_mem, results_of_terminates, get_equiv, get_thinkN, get_bind, length_bind, get_eq_of_promises
head πŸ“–CompOp
3 mathmath: head_pure, head_think, head_empty
instAlternativeComputation πŸ“–CompOp
7 mathmath: Stream'.WSeq.toList'_map, orElse_empty, ret_orElse, Stream'.WSeq.toList_cons, empty_orElse, orElse_think, orElse_pure
instBind πŸ“–CompOp
4 mathmath: has_bind_eq_bind, Stream'.WSeq.destruct_tail, Stream'.WSeq.destruct_dropn, Stream'.WSeq.destruct_flatten
instCoeTC πŸ“–CompOpβ€”
instInhabited πŸ“–CompOpβ€”
instMembership πŸ“–CompOp
20 mathmath: liftRel_pure_left, LiftRelAux.ret_left, Stream'.WSeq.exists_get?_of_mem, liftRelAux_inr_inl, Stream'.WSeq.toList_ofList, Terminates.term, get_mem, thinkN_mem, liftRelAux_inl_inr, mem_pure_iff, Mem.left_unique, liftRel_pure_right, Results.mem, LiftRelAux.ret_right, mem_of_promises, Stream'.WSeq.exists_dropn_of_mem, notMem_empty, mem_of_get_eq, ret_mem, terminates_iff
join πŸ“–CompOpβ€”
length πŸ“–CompOp
8 mathmath: length_pure, eq_thinkN', length_thinkN, Results.length, results_of_terminates, results_of_terminates', length_think, length_bind
lmap πŸ“–CompOp
1 mathmath: destruct_map
map πŸ“–CompOp
15 mathmath: map_pure, terminates_map_iff, Stream'.WSeq.destruct_map, map_id, Stream'.WSeq.length_eq_map, map_think, map_parallel, map_comp, has_map_eq_map, bind_pure, terminates_map, destruct_map, mem_map, map_congr, liftRel_map
memRecOn πŸ“–CompOpβ€”
monad πŸ“–CompOp
5 mathmath: map_think', has_map_eq_map, pure_def, instLawfulMonad, map_pure'
orElse πŸ“–CompOpβ€”
pure πŸ“–CompOp
36 mathmath: length_pure, eq_thinkN', map_pure, liftRel_pure, liftRel_pure_left, destruct_pure, Stream'.WSeq.destruct_ofSeq, Stream'.WSeq.head_ofSeq, Stream'.WSeq.head_nil, Stream'.WSeq.toList'_nil, get_pure, equiv_pure_of_mem, bind_pure, Stream'.WSeq.destruct_nil, Stream'.WSeq.drop.aux_none, ret_orElse, destruct_eq_pure, eq_thinkN, pure_def, mem_pure_iff, results_pure, liftRel_pure_right, Stream'.WSeq.flatten_pure, head_pure, Stream'.WSeq.toList_nil, Stream'.WSeq.destruct_cons, ret_mem, Stream'.WSeq.get?_ofSeq, results_thinkN_pure, ret_bind, Stream'.WSeq.head_cons, bind_pure', ret_terminates, orElse_pure, map_pure', tail_pure
recOn πŸ“–CompOpβ€”
rmap πŸ“–CompOp
2 mathmath: destruct_map, corec_eq
run πŸ“–CompOpβ€”
runFor πŸ“–CompOpβ€”
tail πŸ“–CompOp
3 mathmath: tail_think, tail_empty, tail_pure
terminatesRecOn πŸ“–CompOpβ€”
think πŸ“–CompOp
25 mathmath: liftRel_think_right, tail_think, think_mem, Stream'.WSeq.flatten_think, get_think, Stream'.WSeq.toList'_cons, map_think, map_think', results_think, think_terminates, Stream'.WSeq.toList_cons, think_empty, destruct_think, head_think, results_think_iff, think_equiv, orElse_think, think_bind, length_think, Stream'.WSeq.toList'_think, Stream'.WSeq.destruct_think, orElse_pure, Stream'.WSeq.head_think, liftRel_think_left, destruct_eq_think
thinkN πŸ“–CompOp
9 mathmath: eq_thinkN', length_thinkN, thinkN_mem, eq_thinkN, get_thinkN, results_thinkN, results_thinkN_pure, thinkN_equiv, thinkN_terminates
Β«term_~>_Β» πŸ“–CompOpβ€”
Β«term_~__1Β» πŸ“–CompOpβ€”

Theorems

NameKindAssumesProvesValidatesDepends On
bind_assoc πŸ“–mathematicalβ€”bindβ€”eq_of_bisim
ret_bind
think_bind
destruct_think
bind_congr πŸ“–mathematicalEquivbindβ€”exists_of_mem_bind
mem_bind
bind_promises πŸ“–mathematicalPromisesbindβ€”exists_of_mem_bind
bind_pure πŸ“–mathematicalβ€”bind
Computation
pure
map
β€”eq_of_bisim
ret_bind
think_bind
destruct_think
map_think
bind_pure' πŸ“–mathematicalβ€”bind
pure
β€”map_id
bind_pure
corec_eq πŸ“–mathematicalβ€”destruct
rmap
Computation
β€”Stream'.corec'_eq
Stream'.tail_cons
destruct_empty πŸ“–mathematicalβ€”destruct
empty
Computation
β€”β€”
destruct_eq_pure πŸ“–mathematicaldestruct
Computation
pureβ€”β€”
destruct_eq_think πŸ“–mathematicaldestruct
Computation
thinkβ€”Stream'.eta
destruct_map πŸ“–mathematicalβ€”destruct
map
lmap
Computation
rmap
β€”map_think
destruct_think
destruct_pure πŸ“–mathematicalβ€”destruct
pure
Computation
β€”β€”
destruct_think πŸ“–mathematicalβ€”destruct
think
Computation
β€”β€”
empty_orElse πŸ“–mathematicalβ€”Computation
instAlternativeComputation
empty
β€”eq_of_bisim
think_empty
orElse_pure
orElse_think
destruct_think
empty_promises πŸ“–mathematicalβ€”Promises
empty
β€”notMem_empty
eq_empty_of_not_terminates πŸ“–mathematicalTerminatesemptyβ€”β€”
eq_of_bisim πŸ“–β€”IsBisimulationβ€”β€”Stream'.eq_of_bisim
tail_pure
destruct_think
destruct_pure
eq_of_pure_mem πŸ“–β€”Computation
instMembership
pure
β€”β€”mem_unique
ret_mem
eq_thinkN πŸ“–mathematicalResultsthinkN
pure
β€”eq_of_pure_mem
Results.mem
of_results_think
Results.len_unique
results_pure
results_think_iff
eq_thinkN' πŸ“–mathematicalβ€”thinkN
pure
get
length
β€”eq_thinkN
results_of_terminates
equiv_of_mem πŸ“–mathematicalComputation
instMembership
Equivβ€”mem_unique
equiv_pure_of_mem πŸ“–mathematicalComputation
instMembership
Equiv
pure
β€”equiv_of_mem
ret_mem
exists_of_liftRel_left πŸ“–β€”LiftRel
Computation
instMembership
β€”β€”β€”
exists_of_liftRel_right πŸ“–β€”LiftRel
Computation
instMembership
β€”β€”β€”
exists_of_mem_bind πŸ“–β€”Computation
instMembership
bind
β€”β€”exists_results_of_mem
of_results_bind
Results.mem
exists_of_mem_map πŸ“–β€”Computation
instMembership
map
β€”β€”exists_of_mem_bind
bind_pure
mem_unique
ret_mem
exists_results_of_mem πŸ“–mathematicalComputation
instMembership
Resultsβ€”terminates_of_mem
results_of_terminates'
get_bind πŸ“–mathematicalβ€”get
bind
terminates_bind
β€”get_eq_of_mem
terminates_bind
mem_bind
get_mem
get_eq_of_mem πŸ“–mathematicalComputation
instMembership
getβ€”mem_unique
get_mem
get_eq_of_promises πŸ“–mathematicalPromisesgetβ€”get_eq_of_mem
mem_of_promises
get_equiv πŸ“–mathematicalEquivgetβ€”get_eq_of_mem
get_mem
get_mem πŸ“–mathematicalβ€”Computation
instMembership
get
β€”β€”
get_promises πŸ“–mathematicalβ€”Promises
get
β€”get_eq_of_mem
get_pure πŸ“–mathematicalβ€”get
pure
ret_terminates
β€”get_eq_of_mem
ret_terminates
get_think πŸ“–mathematicalβ€”get
think
think_terminates
β€”get_eq_of_mem
think_terminates
get_mem
get_thinkN πŸ“–mathematicalβ€”get
thinkN
thinkN_terminates
β€”get_eq_of_mem
thinkN_terminates
thinkN_mem
get_mem
has_bind_eq_bind πŸ“–mathematicalβ€”Computation
instBind
bind
β€”β€”
has_map_eq_map πŸ“–mathematicalβ€”Computation
monad
map
β€”β€”
head_empty πŸ“–mathematicalβ€”head
empty
β€”β€”
head_pure πŸ“–mathematicalβ€”head
pure
β€”β€”
head_think πŸ“–mathematicalβ€”head
think
β€”β€”
instLawfulMonad πŸ“–mathematicalβ€”Computation
monad
β€”map_id
ret_bind
bind_assoc
bind_pure
le_stable πŸ“–β€”Stream'β€”β€”β€”
length_bind πŸ“–mathematicalβ€”length
bind
terminates_bind
get
β€”Results.len_unique
terminates_bind
results_of_terminates
results_bind
length_pure πŸ“–mathematicalβ€”length
pure
ret_terminates
β€”ret_terminates
Nat.find_min'
terminates_def
length_think πŸ“–mathematicalβ€”length
think
think_terminates
β€”le_antisymm
think_terminates
Nat.find_min'
Nat.find_spec
terminates_def
length_thinkN πŸ“–mathematicalβ€”length
thinkN
thinkN_terminates
β€”Results.length
thinkN_terminates
results_thinkN
results_of_terminates
liftRelAux_inl_inl πŸ“–mathematicalβ€”LiftRelAux
Computation
β€”β€”
liftRelAux_inl_inr πŸ“–mathematicalβ€”LiftRelAux
Computation
instMembership
β€”β€”
liftRelAux_inr_inl πŸ“–mathematicalβ€”LiftRelAux
Computation
instMembership
β€”β€”
liftRelAux_inr_inr πŸ“–mathematicalβ€”LiftRelAux
Computation
β€”β€”
liftRel_bind πŸ“–mathematicalLiftRelbindβ€”exists_of_mem_bind
mem_bind
liftRel_congr πŸ“–mathematicalEquivLiftRelβ€”β€”
liftRel_def πŸ“–mathematicalβ€”LiftRel
Terminates
β€”terminates_of_liftRel
mem_unique
liftRel_map πŸ“–mathematicalLiftRelmapβ€”bind_pure
liftRel_bind
liftRel_mem_cases πŸ“–β€”LiftRelβ€”β€”β€”
liftRel_of_mem πŸ“–mathematicalComputation
instMembership
LiftRelβ€”mem_unique
liftRel_pure πŸ“–mathematicalβ€”LiftRel
pure
β€”β€”
liftRel_pure_left πŸ“–mathematicalβ€”LiftRel
pure
Computation
instMembership
β€”ret_mem
eq_of_pure_mem
mem_unique
liftRel_pure_right πŸ“–mathematicalβ€”LiftRel
pure
Computation
instMembership
β€”LiftRel.swap
liftRel_pure_left
liftRel_rec πŸ“–mathematicalLiftRelAux
destruct
LiftRelβ€”liftRel_mem_cases
LiftRelRec.lem
LiftRel.swap
LiftRelAux.swap
liftRel_think_left πŸ“–mathematicalβ€”LiftRel
think
β€”of_think_mem
think_mem
liftRel_think_right πŸ“–mathematicalβ€”LiftRel
think
β€”LiftRel.swap
liftRel_think_left
lift_eq_iff_equiv πŸ“–mathematicalβ€”LiftRel
Equiv
β€”β€”
map_comp πŸ“–mathematicalβ€”mapβ€”β€”
map_congr πŸ“–mathematicalEquivmapβ€”lift_eq_iff_equiv
liftRel_map
map_id πŸ“–mathematicalβ€”mapβ€”β€”
map_pure πŸ“–mathematicalβ€”map
pure
β€”β€”
map_pure' πŸ“–mathematicalβ€”Computation
monad
pure
β€”map_pure
map_think πŸ“–mathematicalβ€”map
think
β€”Stream'.map_cons
map_think' πŸ“–mathematicalβ€”Computation
monad
think
β€”map_think
mem_bind πŸ“–mathematicalComputation
instMembership
bindβ€”exists_results_of_mem
Results.mem
results_bind
mem_map πŸ“–mathematicalComputation
instMembership
mapβ€”bind_pure
mem_bind
ret_mem
mem_of_get_eq πŸ“–mathematicalgetComputation
instMembership
β€”get_mem
mem_of_promises πŸ“–mathematicalPromisesComputation
instMembership
β€”β€”
mem_promises πŸ“–mathematicalComputation
instMembership
Promisesβ€”mem_unique
mem_pure_iff πŸ“–mathematicalβ€”Computation
instMembership
pure
β€”eq_of_pure_mem
ret_mem
mem_unique πŸ“–β€”Computation
instMembership
β€”β€”le_stable
le_max_left
le_max_right
notMem_empty πŸ“–mathematicalβ€”Computation
instMembership
empty
β€”β€”
not_terminates_empty πŸ“–mathematicalβ€”Terminates
empty
β€”notMem_empty
of_results_bind πŸ“–β€”Results
bind
β€”β€”results_pure
ret_bind
eq_thinkN
think_bind
results_think
of_results_think πŸ“–β€”Results
think
β€”β€”of_think_terminates
Results.terminates
results_of_terminates'
of_think_mem
Results.mem
Results.len_unique
results_think
of_thinkN_terminates πŸ“–mathematicalβ€”Terminatesβ€”thinkN_mem
of_think_mem πŸ“–β€”Computation
instMembership
think
β€”β€”β€”
of_think_terminates πŸ“–mathematicalβ€”Terminatesβ€”of_think_mem
orElse_empty πŸ“–mathematicalβ€”Computation
instAlternativeComputation
empty
β€”eq_of_bisim
think_empty
ret_orElse
orElse_think
destruct_think
orElse_pure πŸ“–mathematicalβ€”Computation
instAlternativeComputation
think
pure
β€”destruct_eq_pure
corec_eq
destruct_think
orElse_think πŸ“–mathematicalβ€”Computation
instAlternativeComputation
think
β€”destruct_eq_think
corec_eq
destruct_think
promises_congr πŸ“–mathematicalEquivPromisesβ€”β€”
pure_def πŸ“–mathematicalβ€”Computation
monad
pure
β€”β€”
rel_of_liftRel πŸ“–β€”LiftRel
Computation
instMembership
β€”β€”mem_unique
results_bind πŸ“–mathematicalResultsbindβ€”Results.mem
ret_bind
Results.len_unique
results_pure
think_bind
of_results_think
results_think
results_of_terminates πŸ“–mathematicalβ€”Results
get
length
β€”terminates_of_mem
get_mem
results_of_terminates' πŸ“–mathematicalComputation
instMembership
Results
length
β€”get_eq_of_mem
results_of_terminates
results_pure πŸ“–mathematicalβ€”Results
pure
β€”terminates_of_mem
ret_mem
length_pure
results_think πŸ“–mathematicalResultsthinkβ€”terminates_of_mem
think_mem
Results.mem
Results.terminates
think_terminates
length_think
Results.length
results_thinkN πŸ“–mathematicalResultsthinkNβ€”results_think
results_thinkN_pure πŸ“–mathematicalβ€”Results
thinkN
pure
β€”results_thinkN
results_pure
results_think_iff πŸ“–mathematicalβ€”Results
think
β€”of_results_think
results_think
ret_bind πŸ“–mathematicalβ€”bind
pure
β€”eq_of_bisim
corec_eq
ret_mem πŸ“–mathematicalβ€”Computation
instMembership
pure
β€”β€”
ret_orElse πŸ“–mathematicalβ€”Computation
instAlternativeComputation
pure
β€”destruct_eq_pure
corec_eq
ret_terminates πŸ“–mathematicalβ€”Terminates
pure
β€”terminates_of_mem
ret_mem
tail_empty πŸ“–mathematicalβ€”tail
empty
β€”β€”
tail_pure πŸ“–mathematicalβ€”tail
pure
β€”β€”
tail_think πŸ“–mathematicalβ€”tail
think
β€”β€”
terminates_bind πŸ“–mathematicalβ€”Terminates
bind
β€”terminates_of_mem
mem_bind
get_mem
terminates_congr πŸ“–mathematicalEquivTerminatesβ€”β€”
terminates_def πŸ“–mathematicalβ€”Terminates
Stream'
β€”β€”
terminates_iff πŸ“–mathematicalβ€”Terminates
Computation
instMembership
β€”Terminates.term
terminates_map πŸ“–mathematicalβ€”Terminates
map
β€”bind_pure
terminates_of_mem
ret_terminates
mem_bind
get_mem
terminates_map_iff πŸ“–mathematicalβ€”Terminates
map
β€”exists_of_mem_map
terminates_map
terminates_of_liftRel πŸ“–mathematicalLiftRelTerminatesβ€”β€”
terminates_of_mem πŸ“–mathematicalComputation
instMembership
Terminatesβ€”β€”
thinkN_equiv πŸ“–mathematicalβ€”Equiv
thinkN
β€”thinkN_mem
thinkN_mem πŸ“–mathematicalβ€”Computation
instMembership
thinkN
β€”of_think_mem
think_mem
thinkN_terminates πŸ“–mathematicalβ€”Terminates
thinkN
β€”thinkN_mem
think_bind πŸ“–mathematicalβ€”bind
think
β€”destruct_eq_think
corec_eq
destruct_think
think_empty πŸ“–mathematicalβ€”empty
think
β€”destruct_eq_think
destruct_empty
think_equiv πŸ“–mathematicalβ€”Equiv
think
β€”of_think_mem
think_mem
think_mem πŸ“–mathematicalComputation
instMembership
thinkβ€”β€”
think_terminates πŸ“–mathematicalβ€”Terminates
think
β€”β€”

Computation.Bind

Definitions

NameCategoryTheorems
f πŸ“–CompOpβ€”
g πŸ“–CompOpβ€”

Computation.Corec

Definitions

NameCategoryTheorems
f πŸ“–CompOpβ€”

Computation.Equiv

Theorems

NameKindAssumesProvesValidatesDepends On
equivalence πŸ“–mathematicalβ€”Computation
Computation.Equiv
β€”refl
symm
trans
refl πŸ“–mathematicalβ€”Computation.Equivβ€”β€”
trans πŸ“–β€”Computation.Equivβ€”β€”β€”

Computation.LiftRel

Theorems

NameKindAssumesProvesValidatesDepends On
equiv πŸ“–mathematicalβ€”Computation
Computation.LiftRel
β€”refl
symm
trans
imp πŸ“–β€”Computation.LiftRelβ€”β€”β€”
refl πŸ“–mathematicalReflexiveComputation
Computation.LiftRel
β€”β€”
swap πŸ“–mathematicalβ€”Computation.LiftRel
Function.swap
β€”β€”
trans πŸ“–mathematicalTransitiveComputation
Computation.LiftRel
β€”β€”

Computation.LiftRelAux

Theorems

NameKindAssumesProvesValidatesDepends On
ret_left πŸ“–mathematicalβ€”Computation.LiftRelAux
Computation
Computation.destruct
Computation.instMembership
β€”Computation.ret_mem
Computation.mem_unique
Computation.destruct_think
Computation.think_mem
Computation.of_think_mem
ret_right πŸ“–mathematicalβ€”Computation.LiftRelAux
Computation.destruct
Computation
Computation.instMembership
β€”swap
ret_left
swap πŸ“–mathematicalβ€”Computation.LiftRelAux
Function.swap
Computation
β€”β€”

Computation.LiftRelRec

Theorems

NameKindAssumesProvesValidatesDepends On
lem πŸ“–mathematicalComputation.LiftRelAux
Computation.destruct
Computation
Computation.instMembership
Computation.LiftRelβ€”Computation.destruct_think

Computation.Mem

Theorems

NameKindAssumesProvesValidatesDepends On
left_unique πŸ“–mathematicalβ€”Relator.LeftUnique
Computation
Computation.instMembership
β€”Computation.mem_unique

Computation.Results

Theorems

NameKindAssumesProvesValidatesDepends On
len_unique πŸ“–β€”Computation.Resultsβ€”β€”terminates
length
length πŸ“–mathematicalComputation.ResultsComputation.lengthβ€”Computation.terminates_of_mem
mem πŸ“–mathematicalComputation.ResultsComputation
Computation.instMembership
β€”Computation.terminates_of_mem
terminates πŸ“–mathematicalComputation.ResultsComputation.Terminatesβ€”Computation.terminates_of_mem
mem
val_unique πŸ“–β€”Computation.Resultsβ€”β€”Computation.mem_unique
mem

Computation.Terminates

Theorems

NameKindAssumesProvesValidatesDepends On
term πŸ“–mathematicalβ€”Computation
Computation.instMembership
β€”β€”

(root)

Definitions

NameCategoryTheorems
Computation πŸ“–CompOp
51 mathmath: Computation.liftRel_pure_left, Computation.LiftRelAux.swap, Computation.destruct_empty, Computation.destruct_pure, Computation.LiftRelAux.ret_left, Stream'.WSeq.exists_get?_of_mem, Computation.liftRelAux_inr_inr, Stream'.WSeq.toList'_map, Computation.orElse_empty, Computation.liftRelAux_inr_inl, Computation.map_think', Stream'.WSeq.toList_ofList, Computation.map_parallel, Computation.has_map_eq_map, Computation.liftRelAux_inl_inl, Computation.bind_pure, Computation.LiftRel.refl, Computation.Terminates.term, Computation.get_mem, Computation.thinkN_mem, Computation.LiftRel.equiv, Computation.ret_orElse, Stream'.WSeq.toList_cons, Computation.LiftRel.trans, Computation.liftRelAux_inl_inr, Computation.destruct_map, Computation.empty_orElse, Computation.pure_def, Computation.mem_pure_iff, Computation.Mem.left_unique, Computation.destruct_think, Computation.has_bind_eq_bind, Computation.corec_eq, Computation.liftRel_pure_right, Computation.LiftRel.symm, Computation.Results.mem, Computation.LiftRelAux.ret_right, Computation.mem_of_promises, Stream'.WSeq.exists_dropn_of_mem, Computation.notMem_empty, Computation.orElse_think, Computation.mem_of_get_eq, Computation.ret_mem, Stream'.WSeq.destruct_tail, Computation.instLawfulMonad, Computation.terminates_iff, Stream'.WSeq.destruct_dropn, Computation.Equiv.equivalence, Computation.orElse_pure, Computation.map_pure', Stream'.WSeq.destruct_flatten

---

← Back to Index