Nuprl Lemma : split-tuple-append-tuple

[L1,L2:Type List].
  ∀[x:tuple-type(L1)]. ∀[y:tuple-type(L2)].  (split-tuple(append-tuple(||L1||;||L2||;x;y);||L1||) ~ <x, y>supposing \000C< ||L2||


Proof




Definitions occuring in Statement :  append-tuple: append-tuple(n;m;x;y) split-tuple: split-tuple(x;n) tuple-type: tuple-type(L) length: ||as|| list: List less_than: a < b uimplies: supposing a uall: [x:A]. B[x] pair: <a, b> natural_number: $n universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top and: P ∧ Q prop: subtype_rel: A ⊆B or: P ∨ Q split-tuple: split-tuple(x;n) eq_int: (i =z j) append-tuple: append-tuple(n;m;x;y) le_int: i ≤j lt_int: i <j bnot: ¬bb ifthenelse: if then else fi  bfalse: ff subtract: m btrue: tt sq_type: SQType(T) guard: {T} cons: [a b] colength: colength(L) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] so_lambda: λ2x.t[x] so_apply: x[s] nil: [] it: less_than: a < b squash: T less_than': less_than'(a;b) decidable: Dec(P) bool: 𝔹 unit: Unit uiff: uiff(P;Q) le: A ≤ B assert: b nequal: a ≠ b ∈  rev_implies:  Q iff: ⇐⇒ Q pi1: fst(t) pi2: snd(t) length: ||as|| list_ind: list_ind
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf tuple-type_wf length_wf nat_wf colength_wf_list int_subtype_base list_wf list-cases tupletype_nil_lemma length_of_nil_lemma subtype_base_sq unit_wf2 unit_subtype_base equal-unit it_wf product_subtype_list spread_cons_lemma intformeq_wf itermAdd_wf int_formula_prop_eq_lemma int_term_value_add_lemma set_subtype_base le_wf subtract-1-ge-0 decidable__equal_int subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma decidable__le tupletype_cons_lemma length_of_cons_lemma ifthenelse_wf null_wf eq_int_wf eqtt_to_assert assert_of_eq_int le_int_wf assert_of_le_int eqff_to_assert non_neg_length bool_cases_sqequal bool_wf bool_subtype_base assert-bnot neg_assert_of_eq_int subtype_rel-equal assert_of_null iff_weakening_uiff assert_wf equal-wf-T-base nequal-le-implies add-is-int-iff false_wf bnot_wf not_wf bool_cases iff_transitivity assert_of_bnot length_wf_nat add-subtract-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut thin Error :lambdaFormation_alt,  extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination sqequalRule independent_pairFormation Error :universeIsType,  axiomSqEquality instantiate universeEquality equalityTransitivity equalitySymmetry Error :inhabitedIsType,  Error :equalityIsType3,  applyEquality unionElimination cumulativity because_Cache promote_hyp hypothesis_subsumption productElimination applyLambdaEquality Error :equalityIsType4,  baseApply closedConclusion baseClosed intEquality Error :equalityIsType1,  imageElimination Error :dependent_set_memberEquality_alt,  productEquality addEquality equalityElimination pointwiseFunctionality hyp_replacement

Latex:
\mforall{}[L1,L2:Type  List].
    \mforall{}[x:tuple-type(L1)].  \mforall{}[y:tuple-type(L2)].
        (split-tuple(append-tuple(||L1||;||L2||;x;y);||L1||)  \msim{}  <x,  y>) 
    supposing  0  <  ||L2||



Date html generated: 2019_06_20-PM-02_03_40
Last ObjectModification: 2018_09_30-PM-02_47_08

Theory : tuples


Home Index