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 × T List × A)) and 
             (accum_split(g;x;f;L1) = <LL1, X, z1> ∈ ((T List × A) List × T 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: T List,  bool: 𝔹,  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  implies: P ⇒ Q,  or: P ∨ Q,  and: P ∧ Q,  function: x:A ⟶ B[x],  pair: <a, b>,  product: x:A × B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  all: ∀x:A. B[x],  implies: P ⇒ Q,  uimplies: b supposing a,  subtype_rel: A ⊆r 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