### Nuprl Lemma : cons_interleaving

`∀[T:Type]. ∀x:T. ∀L,L1,L2:T List.  (interleaving(T;L1;L2;L) `` interleaving(T;[x / L1];L2;[x / L]))`

Proof

Definitions occuring in Statement :  interleaving: `interleaving(T;L1;L2;L)` cons: `[a / b]` list: `T List` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` implies: `P `` Q` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` implies: `P `` Q` interleaving: `interleaving(T;L1;L2;L)` member: `t ∈ T` top: `Top` and: `P ∧ Q` cand: `A c∧ B` nat: `ℕ` guard: `{T}` ge: `i ≥ j ` decidable: `Dec(P)` or: `P ∨ Q` false: `False` uiff: `uiff(P;Q)` uimplies: `b supposing a` not: `¬A` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` prop: `ℙ` le: `A ≤ B` less_than': `less_than'(a;b)` disjoint_sublists: `disjoint_sublists(T;L1;L2;L)` int_seg: `{i..j-}` lelt: `i ≤ j < k` less_than: `a < b` squash: `↓T` true: `True` nat_plus: `ℕ+` subtype_rel: `A ⊆r B` so_lambda: `λ2x.t[x]` so_apply: `x[s]` cons: `[a / b]` colength: `colength(L)` nil: `[]` it: `⋅` sq_type: `SQType(T)` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` increasing: `increasing(f;k)` subtract: `n - m` rev_implies: `P `` Q` iff: `P `⇐⇒` Q` fadd: `fadd(f;g)` select: `L[n]` fshift: `fshift(f;x)` bool: `𝔹` unit: `Unit` btrue: `tt` ifthenelse: `if b then t else f fi ` bfalse: `ff` bnot: `¬bb` assert: `↑b` nequal: `a ≠ b ∈ T `
Lemmas referenced :  length_of_cons_lemma istype-void nat_properties decidable__equal_int length_wf add-is-int-iff full-omega-unsat intformand_wf intformnot_wf intformeq_wf itermAdd_wf itermVar_wf itermConstant_wf istype-int int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_wf false_wf add_nat_wf istype-false le_wf decidable__le intformle_wf int_formula_prop_le_lemma fadd_wf length_wf_nat less_than_wf int_seg_wf fshift_wf add_nat_plus nat_plus_properties decidable__lt intformless_wf int_formula_prop_less_lemma increasing_wf non_neg_length select_wf cons_wf int_seg_properties set_subtype_base lelt_wf int_subtype_base interleaving_wf list_wf istype-universe decidable__assert null_wf assert_of_null ge_wf list-cases product_subtype_list colength-cons-not-zero colength_wf_list subtract-1-ge-0 subtype_base_sq spread_cons_lemma subtract_wf itermSubtract_wf int_term_value_subtract_lemma null_nil_lemma btrue_wf null_cons_lemma bfalse_wf btrue_neq_bfalse nat_wf length_of_nil_lemma non_nil_length iff_weakening_uiff assert_wf equal-wf-T-base fshift_increasing fadd_increasing const_nondecreasing eq_int_wf equal-wf-base bool_wf bnot_wf not_wf uiff_transitivity eqtt_to_assert assert_of_eq_int iff_transitivity eqff_to_assert assert_of_bnot equal_wf iff_weakening_equal add-subtract-cancel squash_wf true_wf select_cons_tl subtype_rel_self int_seg_subtype_nat subtract_nat_wf subtract-is-int-iff bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt sqequalHypSubstitution sqequalRule cut introduction extract_by_obid dependent_functionElimination thin isect_memberEquality_alt voidElimination hypothesis productElimination isectElimination equalityTransitivity equalitySymmetry applyLambdaEquality setElimination rename hypothesisEquality addEquality natural_numberEquality unionElimination pointwiseFunctionality promote_hyp baseApply closedConclusion baseClosed independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality independent_pairFormation universeIsType dependent_set_memberEquality_alt inhabitedIsType equalityIsType1 because_Cache imageMemberEquality productIsType functionExtensionality applyEquality functionIsType imageElimination equalityIsType4 intEquality universeEquality intWeakElimination axiomSqEquality functionIsTypeImplies hypothesis_subsumption instantiate equalityIsType3 functionExtensionality_alt equalityElimination cumulativity equalityIsType2

Latex:
\mforall{}[T:Type].  \mforall{}x:T.  \mforall{}L,L1,L2:T  List.    (interleaving(T;L1;L2;L)  {}\mRightarrow{}  interleaving(T;[x  /  L1];L2;[x  /  L]))

Date html generated: 2019_10_15-AM-10_55_33
Last ObjectModification: 2018_10_09-AM-10_15_59

Theory : list!

Home Index