Nuprl Lemma : swap_cons

[T:Type]. ∀[L:T List]. ∀[x:T]. ∀[i,j:ℕ+||L|| 1].  (swap([x L];i;j) [x swap(L;i 1;j 1)] ∈ (T List))


Proof




Definitions occuring in Statement :  swap: swap(L;i;j) length: ||as|| cons: [a b] list: List int_seg: {i..j-} uall: [x:A]. B[x] subtract: m add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q le: A ≤ B less_than: a < b squash: T all: x:A. B[x] decidable: Dec(P) or: P ∨ Q uimplies: supposing a not: ¬A implies:  Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False prop: uiff: uiff(P;Q) true: True subtype_rel: A ⊆B guard: {T} iff: ⇐⇒ Q rev_implies:  Q nat: sq_type: SQType(T) cons: [a b] select: L[n] less_than': less_than'(a;b) top: Top ge: i ≥  assert: b bnot: ¬bb bfalse: ff ifthenelse: if then else fi  btrue: tt it: unit: Unit bool: 𝔹 so_apply: x[s] so_lambda: λ2x.t[x] flip: (i, j) nequal: a ≠ b ∈ 
Lemmas referenced :  list_extensionality swap_wf cons_wf int_seg_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf istype-int int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf length_of_cons_lemma istype-le istype-less_than length_wf subtract_wf itermSubtract_wf int_term_value_subtract_lemma decidable__lt add-is-int-iff intformless_wf itermAdd_wf int_formula_prop_less_lemma int_term_value_add_lemma false_wf equal_wf add_functionality_wrt_eq swap_length iff_weakening_equal length_cons istype-nat int_seg_wf list_wf istype-universe int_subtype_base subtype_base_sq decidable__equal_int subtype_rel_self istype-false less_than_wf le_wf istype-void nat_properties swap_select true_wf squash_wf assert_of_bnot iff_weakening_uiff iff_transitivity uiff_transitivity neg_assert_of_eq_int assert-bnot bool_subtype_base bool_cases_sqequal eqff_to_assert assert_of_eq_int eqtt_to_assert not_wf bnot_wf int_formula_prop_eq_lemma intformeq_wf assert_wf lelt_wf set_subtype_base bool_wf equal-wf-base eq_int_wf non_neg_length select_cons_tl select_wf select-cons-tl subtract-add-cancel btrue_neq_bfalse assert_elim bfalse_wf btrue_wf eq_int_eq_true
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality because_Cache hypothesis setElimination rename dependent_set_memberEquality_alt productElimination independent_pairFormation imageElimination dependent_functionElimination natural_numberEquality unionElimination independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality Error :memTop,  sqequalRule universeIsType voidElimination productIsType pointwiseFunctionality equalityTransitivity equalitySymmetry promote_hyp baseApply closedConclusion baseClosed applyEquality intEquality imageMemberEquality lambdaFormation_alt inhabitedIsType isect_memberEquality_alt axiomEquality isectIsTypeImplies addEquality instantiate universeEquality cumulativity equalityIsType1 equalityIsType2 equalityElimination equalityIsType4

Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[x:T].  \mforall{}[i,j:\mBbbN{}\msupplus{}||L||  +  1].    (swap([x  /  L];i;j)  =  [x  /  swap(L;i  -  1;j  -  1)])



Date html generated: 2020_05_20-AM-07_49_00
Last ObjectModification: 2019_12_26-PM-04_46_39

Theory : list!


Home Index