Nuprl Lemma : copathAgree-tl

[A:𝕌']. ∀[B:A ⟶ Type]. ∀[w:coW(A;a.B[a])].
  ∀p,q:copath(a.B[a];w).
    (copathAgree(a.B[a];w;p;q)
     0 < copath-length(p)
     0 < copath-length(q)
     copathAgree(a.B[a];coW-item(w;copath-hd(p));copath-tl(p);copath-tl(q)))


Proof




Definitions occuring in Statement :  copathAgree: copathAgree(a.B[a];w;x;y) copath-tl: copath-tl(x) copath-hd: copath-hd(p) copath-length: copath-length(p) copath: copath(a.B[a];w) coW-item: coW-item(w;b) coW: coW(A;a.B[a]) less_than: a < b uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] natural_number: $n universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q copath: copath(a.B[a];w) copathAgree: copathAgree(a.B[a];w;x;y) copath-tl: copath-tl(x) copath-length: copath-length(p) pi1: fst(t) member: t ∈ T nat: decidable: Dec(P) or: P ∨ Q less_than: a < b and: P ∧ Q less_than': less_than'(a;b) top: Top true: True squash: T not: ¬A false: False prop: bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) uimplies: supposing a coPathAgree: coPathAgree(a.B[a];n;w;p;q) bfalse: ff exists: x:A. B[x] sq_type: SQType(T) guard: {T} bnot: ¬bb ifthenelse: if then else fi  assert: b subtract: m subtype_rel: A ⊆B le: A ≤ B so_lambda: λ2x.t[x] so_apply: x[s] coPath: coPath(a.B[a];w;n) pi2: snd(t) copath-hd: copath-hd(p) iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  decidable__lt top_wf less_than_wf lt_int_wf subtract_wf bool_wf eqtt_to_assert assert_of_lt_int eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot not-lt-2 condition-implies-le add-associates nat_wf minus-add minus-minus minus-one-mul add-swap minus-one-mul-top add-commutes zero-add less-iff-le add_functionality_wrt_le le-add-cancel-alt copath-length_wf copathAgree_wf copath_wf coW_wf eq_int_wf less_than_transitivity1 le_weakening less_than_irreflexivity assert_wf bnot_wf not_wf equal-wf-T-base less_than_transitivity2 le_weakening2 bool_cases assert_of_eq_int iff_transitivity iff_weakening_uiff assert_of_bnot
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation sqequalHypSubstitution productElimination thin sqequalRule cut introduction extract_by_obid dependent_functionElimination setElimination rename hypothesisEquality hypothesis unionElimination because_Cache lessCases isectElimination sqequalAxiom isect_memberEquality independent_pairFormation voidElimination voidEquality natural_numberEquality imageMemberEquality baseClosed imageElimination independent_functionElimination equalityElimination equalityTransitivity equalitySymmetry independent_isectElimination dependent_pairFormation promote_hyp instantiate addEquality minusEquality applyEquality lambdaEquality intEquality cumulativity functionEquality universeEquality impliesFunctionality

Latex:
\mforall{}[A:\mBbbU{}'].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[w:coW(A;a.B[a])].
    \mforall{}p,q:copath(a.B[a];w).
        (copathAgree(a.B[a];w;p;q)
        {}\mRightarrow{}  0  <  copath-length(p)
        {}\mRightarrow{}  0  <  copath-length(q)
        {}\mRightarrow{}  copathAgree(a.B[a];coW-item(w;copath-hd(p));copath-tl(p);copath-tl(q)))



Date html generated: 2018_07_25-PM-01_41_10
Last ObjectModification: 2018_06_01-AM-11_59_21

Theory : co-recursion


Home Index