Nuprl Lemma : eager-accum_wf

[T,T':Type]. ∀[l:T List]. ∀[y:T']. ∀[f:T' ⟶ T ⟶ T'].  eager-accum(x,a.f[x;a];y;l) ∈ T' supposing valueall-type(T')


Proof




Definitions occuring in Statement :  eager-accum: eager-accum(x,a.f[x; a];y;l) list: List valueall-type: valueall-type(T) uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s1;s2] member: t ∈ T function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  has-valueall: has-valueall(a) has-value: (a)↓ callbyvalueall: callbyvalueall less_than: a < b sq_type: SQType(T) so_apply: x[s] so_lambda: λ2x.t[x] subtract: m rev_implies:  Q iff: ⇐⇒ Q decidable: Dec(P) true: True less_than': less_than'(a;b) not: ¬A le: A ≤ B and: P ∧ Q uiff: uiff(P;Q) sq_stable: SqStable(P) squash: T so_apply: x[s1;s2] top: Top so_lambda: λ2y.t[x; y] colength: colength(L) cons: [a b] it: nil: [] eager-accum: eager-accum(x,a.f[x; a];y;l) or: P ∨ Q subtype_rel: A ⊆B prop: uimplies: supposing a guard: {T} ge: i ≥  false: False implies:  Q nat: all: x:A. B[x] member: t ∈ T uall: [x:A]. B[x]
Lemmas referenced :  list_wf evalall-reduce valueall-type-has-valueall int_subtype_base set_subtype_base subtype_base_sq add-swap minus-minus less-iff-le not-ge-2 subtract_wf equal_wf le_wf add-commutes minus-one-mul-top minus-one-mul minus-add condition-implies-le not-le-2 false_wf decidable__le le-add-cancel zero-add add-zero add-associates add_functionality_wrt_le le_antisymmetry_iff sq_stable__le spread_cons_lemma product_subtype_list list-cases colength_wf_list nat_wf equal-wf-T-base valueall-type_wf less_than_wf ge_wf less_than_irreflexivity less_than_transitivity1 nat_properties
Rules used in proof :  universeEquality callbyvalueReduce functionExtensionality instantiate intEquality minusEquality independent_pairFormation dependent_set_memberEquality addEquality imageElimination baseClosed imageMemberEquality applyLambdaEquality voidEquality productElimination hypothesis_subsumption promote_hyp unionElimination because_Cache applyEquality functionEquality cumulativity equalitySymmetry equalityTransitivity axiomEquality isect_memberEquality dependent_functionElimination lambdaEquality voidElimination independent_functionElimination independent_isectElimination natural_numberEquality intWeakElimination sqequalRule rename setElimination hypothesis hypothesisEquality isectElimination sqequalHypSubstitution extract_by_obid lambdaFormation thin cut introduction isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[T,T':Type].  \mforall{}[l:T  List].  \mforall{}[y:T'].  \mforall{}[f:T'  {}\mrightarrow{}  T  {}\mrightarrow{}  T'].
    eager-accum(x,a.f[x;a];y;l)  \mmember{}  T'  supposing  valueall-type(T')



Date html generated: 2018_05_21-PM-00_19_38
Last ObjectModification: 2018_05_15-PM-04_42_42

Theory : list_0


Home Index