Nuprl Lemma : pcw-path-copathAgree

[A:𝕌']. ∀[B:A ⟶ Type].
  ∀w:coW(A;a.B[a]). ∀path:Path.
    (StepAgree(path 0;⋅;w)
     (∀i:ℕ
          ((copath-length(pcw-path-coPath(i 1;path)) (i 1) ∈ ℤ)
           (copath-length(pcw-path-coPath(i;path)) i ∈ ℤ)
           copathAgree(a.B[a];w;pcw-path-coPath(i;path);pcw-path-coPath(i 1;path)))))


Proof




Definitions occuring in Statement :  pcw-path-coPath: pcw-path-coPath(n;p) copathAgree: copathAgree(a.B[a];w;x;y) copath-length: copath-length(p) coW: coW(A;a.B[a]) pcw-path: Path pcw-step-agree: StepAgree(s;p1;w) nat: it: uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] implies:  Q unit: Unit apply: a function: x:A ⟶ B[x] add: m natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  exposed-it: exposed-it eq_int: (i =z j) coPath-extend: coPath-extend(n;p;t) coPath: coPath(a.B[a];w;n) coPathAgree: coPathAgree(a.B[a];n;w;p;q) ge: i ≥  less_than: a < b copath-extend: copath-extend(q;t) copathAgree: copathAgree(a.B[a];w;x;y) copath: copath(a.B[a];w) spreadn: spread3 pcw-step: pcw-step(P;p.A[p];p,a.B[p; a];p,a,b.C[p; a; b]) let: let guard: {T} bfalse: ff ifthenelse: if then else fi  btrue: tt it: unit: Unit bool: 𝔹 pcw-path-coPath: pcw-path-coPath(n;p) cand: c∧ B coW: coW(A;a.B[a]) pcw-path: Path so_apply: x[s1;s2;s3] so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2] so_lambda: λ2y.t[x; y] so_apply: x[s] so_lambda: λ2x.t[x] true: True less_than': less_than'(a;b) le: A ≤ B top: Top subtype_rel: A ⊆B subtract: m squash: T sq_stable: SqStable(P) uiff: uiff(P;Q) prop: false: False rev_implies:  Q not: ¬A iff: ⇐⇒ Q or: P ∨ Q decidable: Dec(P) nat: and: P ∧ Q uimplies: supposing a member: t ∈ T implies:  Q all: x:A. B[x] uall: [x:A]. B[x]
Lemmas referenced :  coW-dom_wf coW-item_wf coPath_wf le_weakening int_subtype_base minus-minus less-iff-le not-ge-2 subtract_wf true_wf less_than_wf ge_wf less_than_irreflexivity less_than_transitivity1 nat_properties zero-mul add-mul-special not-lt-2 decidable__lt equal-wf-base member_wf squash_wf top_wf copath_wf copath-nil-Agree pcw-step_wf add-subtract-cancel le_antisymmetry_iff assert_of_bnot eqff_to_assert iff_weakening_uiff iff_transitivity assert_of_eq_int eqtt_to_assert uiff_transitivity not_wf bnot_wf assert_wf equal-wf-T-base bool_wf eq_int_wf copath-length_wf equal_wf sq_stable__copathAgree coW_wf pcw-path_wf it_wf unit_wf2 pcw-step-agree_wf nat_wf le_wf le-add-cancel add-zero add_functionality_wrt_le add-commutes add-swap add-associates minus-one-mul-top zero-add minus-one-mul minus-add condition-implies-le sq_stable__le not-le-2 false_wf decidable__le pcw-path-coPath_wf
Rules used in proof :  closedConclusion baseApply functionExtensionality independent_pairEquality axiomEquality intWeakElimination multiplyEquality productEquality sqequalAxiom lessCases impliesFunctionality equalityElimination equalitySymmetry equalityTransitivity universeEquality functionEquality cumulativity instantiate minusEquality because_Cache intEquality voidEquality isect_memberEquality lambdaEquality applyEquality imageElimination baseClosed imageMemberEquality sqequalRule independent_functionElimination voidElimination independent_pairFormation unionElimination dependent_functionElimination natural_numberEquality rename setElimination addEquality dependent_set_memberEquality productElimination hypothesis independent_isectElimination hypothesisEquality thin isectElimination sqequalHypSubstitution extract_by_obid introduction cut lambdaFormation isect_memberFormation sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution

Latex:
\mforall{}[A:\mBbbU{}'].  \mforall{}[B:A  {}\mrightarrow{}  Type].
    \mforall{}w:coW(A;a.B[a]).  \mforall{}path:Path.
        (StepAgree(path  0;\mcdot{};w)
        {}\mRightarrow{}  (\mforall{}i:\mBbbN{}
                    ((copath-length(pcw-path-coPath(i  +  1;path))  =  (i  +  1))
                    {}\mRightarrow{}  (copath-length(pcw-path-coPath(i;path))  =  i)
                    {}\mRightarrow{}  copathAgree(a.B[a];w;pcw-path-coPath(i;path);pcw-path-coPath(i  +  1;path)))))



Date html generated: 2018_07_25-PM-01_41_46
Last ObjectModification: 2018_07_23-PM-00_54_25

Theory : co-recursion


Home Index