Nuprl Lemma : copathAgree-last

[A:𝕌']. ∀[B:A ⟶ Type]. ∀[w:coW(A;a.B[a])]. ∀[p,q:copath(a.B[a];w)].
  (((fst(copath-last(w;q))) copath-at(w;p) ∈ coW(A;a.B[a]))
     ∧ (copath-at(w;q) coW-item(copath-at(w;p);snd(copath-last(w;q))) ∈ coW(A;a.B[a]))) supposing 
     ((copath-length(q) (copath-length(p) 1) ∈ ℤand 
     copathAgree(a.B[a];w;p;q))


Proof




Definitions occuring in Statement :  copathAgree: copathAgree(a.B[a];w;x;y) copath-last: copath-last(w;p) copath-length: copath-length(p) copath-at: copath-at(w;p) copath: copath(a.B[a];w) coW-item: coW-item(w;b) coW: coW(A;a.B[a]) uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) and: P ∧ Q function: x:A ⟶ B[x] add: m natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  coPathAgree: coPathAgree(a.B[a];n;w;p;q) rev_uimplies: rev_uimplies(P;Q) copath-tl: copath-tl(x) pi2: snd(t) copath-hd: copath-hd(p) eq_int: (i =z j) it: unit: Unit bool: 𝔹 bfalse: ff btrue: tt ifthenelse: if then else fi  copath-last: copath-last(w;p) coPath-at: coPath-at(n;w;p) copath-at: copath-at(w;p) coPath: coPath(a.B[a];w;n) less_than: a < b pi1: fst(t) copath-length: copath-length(p) copathAgree: copathAgree(a.B[a];w;x;y) copath: copath(a.B[a];w) sq_type: SQType(T) squash: T sq_stable: SqStable(P) exists: x:A. B[x] true: True less_than': less_than'(a;b) le: A ≤ B top: Top subtract: m uiff: uiff(P;Q) rev_implies:  Q not: ¬A iff: ⇐⇒ Q or: P ∨ Q decidable: Dec(P) guard: {T} ge: i ≥  false: False implies:  Q nat: prop: subtype_rel: A ⊆B so_apply: x[s] so_lambda: λ2x.t[x] all: x:A. B[x] cand: c∧ B and: P ∧ Q uimplies: supposing a member: t ∈ T uall: [x:A]. B[x]
Lemmas referenced :  coPathAgree_wf and_wf coPath_wf or_wf not-le-2 coPath_subtype coPath-at_wf minus-zero le-add-cancel2 not-equal-2 decidable__int_equal uiff_transitivity assert_of_bnot iff_weakening_uiff iff_transitivity eqff_to_assert assert_of_eq_int eqtt_to_assert bool_subtype_base bool_cases add-subtract-cancel bool_wf equal-wf-T-base not_wf bnot_wf assert_wf le_antisymmetry_iff eq_int_wf sq_stable__equal sq_stable__and add-is-int-iff equal-wf-base member_wf top_wf iff_weakening_equal subtype_rel_self true_wf squash_wf subtype_rel-equal pi2_wf coW-item_wf le-add-cancel-alt not-lt-2 decidable__lt subtype_base_sq one-mul zero-mul mul-distributes-right two-mul add-mul-special copath-at_wf pi1_wf coW-dom_wf int_subtype_base set_subtype_base copath-last_wf sq_stable__le le_weakening le_transitivity le-add-cancel add-zero add_functionality_wrt_le add-commutes add-swap add-associates minus-minus minus-add minus-one-mul-top zero-add minus-one-mul condition-implies-le less-iff-le not-ge-2 false_wf subtract_wf decidable__le le_wf less_than_wf ge_wf less_than_irreflexivity less_than_transitivity1 nat_properties coW_wf copath_wf copathAgree_wf nat_wf equal_wf le_reflexive copath-length_wf
Rules used in proof :  hyp_replacement applyLambdaEquality dependent_pairEquality orFunctionality addLevel inrFormation inlFormation dependent_set_memberEquality equalityElimination impliesFunctionality closedConclusion baseApply sqequalAxiom lessCases levelHypothesis equalityUniverse multiplyEquality productEquality promote_hyp sqequalIntensionalEquality functionExtensionality imageElimination baseClosed imageMemberEquality dependent_pairFormation minusEquality voidEquality unionElimination voidElimination independent_functionElimination intWeakElimination lambdaFormation universeEquality functionEquality cumulativity instantiate equalitySymmetry equalityTransitivity isect_memberEquality natural_numberEquality addEquality rename setElimination intEquality axiomEquality independent_pairEquality independent_pairFormation productElimination because_Cache independent_isectElimination hypothesis applyEquality lambdaEquality sqequalRule hypothesisEquality isectElimination extract_by_obid thin dependent_functionElimination sqequalHypSubstitution introduction cut isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[A:\mBbbU{}'].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[w:coW(A;a.B[a])].  \mforall{}[p,q:copath(a.B[a];w)].
    (((fst(copath-last(w;q)))  =  copath-at(w;p))
          \mwedge{}  (copath-at(w;q)  =  coW-item(copath-at(w;p);snd(copath-last(w;q)))))  supposing 
          ((copath-length(q)  =  (copath-length(p)  +  1))  and 
          copathAgree(a.B[a];w;p;q))



Date html generated: 2018_07_25-PM-01_41_25
Last ObjectModification: 2018_07_24-AM-11_49_57

Theory : co-recursion


Home Index