Nuprl Lemma : accum_split_iseg2

[T,A:Type].
  ∀x:A. ∀g:(T List × A) ⟶ A. ∀f:(T List × A) ⟶ 𝔹. ∀L1,L2:T List.
    (L1 ≤ L2
     (∀LL1,LL2:(T List × A) List. ∀X,Y:T List. ∀z1,z2:A.
          (((LL1 LL2 ∈ ((T List × A) List)) ∧ X ≤ Y ∧ (z1 z2 ∈ A))
             ∨ (∃Z:T List
                 ∃ZZ:(T List × A) List. (((LL1 [<Z, z1> ZZ]) LL2 ∈ ((T List × A) List)) ∧ X ≤ Z))) supposing 
             ((accum_split(g;x;f;L2) = <LL2, Y, z2> ∈ ((T List × A) List × List × A)) and 
             (accum_split(g;x;f;L1) = <LL1, X, z1> ∈ ((T List × A) List × List × A)))))


Proof




Definitions occuring in Statement :  accum_split: accum_split(g;x;f;L) iseg: l1 ≤ l2 append: as bs cons: [a b] list: List bool: 𝔹 uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] implies:  Q or: P ∨ Q and: P ∧ Q function: x:A ⟶ B[x] pair: <a, b> product: x:A × B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] implies:  Q uimplies: supposing a subtype_rel: A ⊆B prop: spreadn: spread3 or: P ∨ Q and: P ∧ Q exists: x:A. B[x] so_lambda: λ2x.t[x] so_apply: x[s]
Lemmas referenced :  accum_split_iseg accum_split_wf list_wf iseg_wf bool_wf istype-universe length_wf append_wf cons_wf length-append or_wf equal_wf exists_wf
Rules used in proof :  cut introduction extract_by_obid sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt hypothesis sqequalHypSubstitution isectElimination thin hypothesisEquality lambdaFormation_alt dependent_functionElimination independent_functionElimination axiomEquality rename equalityIstype inhabitedIsType equalityTransitivity equalitySymmetry applyEquality lambdaEquality_alt setElimination sqequalRule independent_pairEquality productIsType universeIsType productEquality functionIsType instantiate universeEquality unionIsType applyLambdaEquality because_Cache Error :memTop,  hyp_replacement functionEquality productElimination unionEquality spreadEquality

Latex:
\mforall{}[T,A:Type].
    \mforall{}x:A.  \mforall{}g:(T  List  \mtimes{}  A)  {}\mrightarrow{}  A.  \mforall{}f:(T  List  \mtimes{}  A)  {}\mrightarrow{}  \mBbbB{}.  \mforall{}L1,L2:T  List.
        (L1  \mleq{}  L2
        {}\mRightarrow{}  (\mforall{}LL1,LL2:(T  List  \mtimes{}  A)  List.  \mforall{}X,Y:T  List.  \mforall{}z1,z2:A.
                    (((LL1  =  LL2)  \mwedge{}  X  \mleq{}  Y  \mwedge{}  (z1  =  z2))
                          \mvee{}  (\mexists{}Z:T  List
                                  \mexists{}ZZ:(T  List  \mtimes{}  A)  List.  (((LL1  @  [<Z,  z1>  /  ZZ])  =  LL2)  \mwedge{}  X  \mleq{}  Z)))  supposing 
                          ((accum\_split(g;x;f;L2)  =  <LL2,  Y,  z2>)  and 
                          (accum\_split(g;x;f;L1)  =  <LL1,  X,  z1>))))



Date html generated: 2020_05_20-AM-08_12_37
Last ObjectModification: 2020_01_17-PM-05_34_37

Theory : general


Home Index