Nuprl Lemma : accum_split_inverse

[A,T:Type]. ∀[x:A]. ∀[g:(T List × A) ⟶ A]. ∀[f:(T List × A) ⟶ 𝔹]. ∀[L:T List]. ∀[LL:(T List × A) List]. ∀[X:T List].
[z:A].
  (concat(map(λp.(fst(p));LL)) X) ∈ (T List) 
  supposing accum_split(g;x;f;L) = <LL, X, z> ∈ ((T List × A) List × List × A)


Proof




Definitions occuring in Statement :  accum_split: accum_split(g;x;f;L) concat: concat(ll) map: map(f;as) append: as bs list: List bool: 𝔹 uimplies: supposing a uall: [x:A]. B[x] pi1: fst(t) lambda: λx.A[x] 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 uimplies: supposing a so_lambda: λ2x.t[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q and: P ∧ Q subtype_rel: A ⊆B top: Top pi1: fst(t) pi2: snd(t) is_accum_splitting: is_accum_splitting(T;A;L;LL;L2;f;g;x) squash: T true: True
Lemmas referenced :  bool_wf true_wf squash_wf append_wf concat_wf map_wf equal_wf and_wf length_wf pi2_wf top_wf subtype_rel_product pi1_wf_top is_accum_splitting_wf list_wf set_wf accum_split_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin lemma_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis productEquality sqequalRule lambdaEquality spreadEquality lambdaFormation setElimination rename productElimination independent_pairFormation applyEquality because_Cache independent_isectElimination isect_memberEquality voidElimination voidEquality equalityUniverse levelHypothesis addLevel equalitySymmetry dependent_set_memberEquality setEquality equalityTransitivity imageElimination natural_numberEquality imageMemberEquality baseClosed independent_pairEquality dependent_functionElimination independent_functionElimination axiomEquality functionEquality universeEquality

Latex:
\mforall{}[A,T:Type].  \mforall{}[x:A].  \mforall{}[g:(T  List  \mtimes{}  A)  {}\mrightarrow{}  A].  \mforall{}[f:(T  List  \mtimes{}  A)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].
\mforall{}[LL:(T  List  \mtimes{}  A)  List].  \mforall{}[X:T  List].  \mforall{}[z:A].
    L  =  (concat(map(\mlambda{}p.(fst(p));LL))  @  X)  supposing  accum\_split(g;x;f;L)  =  <LL,  X,  z>



Date html generated: 2016_05_15-PM-05_55_11
Last ObjectModification: 2016_01_16-PM-00_36_54

Theory : general


Home Index