Nuprl Lemma : split_tail_rel

[A:Type]. ∀[f:A ⟶ 𝔹]. ∀[L:A List].  (((fst(split_tail(L | ∀x.f[x]))) (snd(split_tail(L | ∀x.f[x])))) L ∈ (A List))


Proof




Definitions occuring in Statement :  split_tail: split_tail(L | ∀x.f[x]) append: as bs list: List bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] implies:  Q prop: split_tail: split_tail(L | ∀x.f[x]) so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] pi1: fst(t) pi2: snd(t) append: as bs bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False squash: T true: True subtype_rel: A ⊆B iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  list_induction equal_wf list_wf append_wf split_tail_wf pi1_wf pi2_wf list_ind_nil_lemma list_ind_cons_lemma bool_wf nil_wf eqtt_to_assert eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot list_ind_wf cons_wf and_wf squash_wf true_wf subtype_rel_self iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality hypothesis applyEquality productEquality lambdaFormation equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination because_Cache isect_memberEquality voidElimination voidEquality rename universeIsType axiomEquality functionIsType functionEquality universeEquality productElimination unionElimination equalityElimination independent_isectElimination dependent_pairFormation promote_hyp instantiate cumulativity independent_pairEquality dependent_set_memberEquality independent_pairFormation applyLambdaEquality setElimination imageElimination natural_numberEquality imageMemberEquality baseClosed

Latex:
\mforall{}[A:Type].  \mforall{}[f:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:A  List].
    (((fst(split\_tail(L  |  \mforall{}x.f[x])))  @  (snd(split\_tail(L  |  \mforall{}x.f[x]))))  =  L)



Date html generated: 2019_10_15-AM-10_54_53
Last ObjectModification: 2018_09_27-AM-10_18_49

Theory : list!


Home Index