Nuprl Lemma : intlex-cons

l1,l2:ℤ List. ∀x,y:ℤ.
  uiff(↑[x l1] ≤_lex [y l2];||l1|| < ||l2|| ∨ (x < y ∧ (||l1|| ||l2|| ∈ ℤ)) ∨ ((x y ∈ ℤ) ∧ (↑l1 ≤_lex l2)))


Proof




Definitions occuring in Statement :  intlex: l1 ≤_lex l2 length: ||as|| cons: [a b] list: List assert: b less_than: a < b uiff: uiff(P;Q) all: x:A. B[x] or: P ∨ Q and: P ∧ Q int: equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] intlex: l1 ≤_lex l2 member: t ∈ T top: Top has-value: (a)↓ uall: [x:A]. B[x] uimplies: supposing a nat: so_lambda: λ2x.t[x] so_apply: x[s] decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q implies:  Q true: True prop: rev_implies:  Q uiff: uiff(P;Q) assert: b ifthenelse: if then else fi  btrue: tt sq_type: SQType(T) guard: {T} not: ¬A false: False subtract: m subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) bfalse: ff bor: p ∨bq squash: T band: p ∧b q intlex-aux: intlex-aux(l1;l2) cons: [a b] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] exposed-it: exposed-it bool: 𝔹 unit: Unit it: less_than: a < b cand: c∧ B exists: x:A. B[x] bnot: ¬bb nequal: a ≠ b ∈  rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced :  length_of_cons_lemma value-type-has-value int-value-type length_wf nat_wf set-value-type le_wf length_wf_nat decidable__lt list_wf subtype_base_sq bool_wf bool_subtype_base iff_imp_equal_bool lt_int_wf btrue_wf less_than_wf true_wf assert_of_lt_int assert_wf iff_wf false_wf not-lt-2 less-iff-le condition-implies-le add-associates minus-add minus-one-mul add-swap minus-one-mul-top zero-add add-commutes add_functionality_wrt_le le-add-cancel2 testxxx_lemma or_wf and_wf equal_wf le-add-cancel equal-wf-base list_subtype_base int_subtype_base bfalse_wf decidable__equal_int squash_wf eq_int_eq_true iff_weakening_equal spread_cons_lemma eqtt_to_assert top_wf assert_witness unit_wf2 intlex-aux_wf eqff_to_assert bool_cases_sqequal assert-bnot eq_int_wf assert_of_eq_int neg_assert_of_eq_int eq_int_eq_false not-equal-2 decidable__le not-le-2
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation sqequalRule cut introduction extract_by_obid sqequalHypSubstitution dependent_functionElimination thin isect_memberEquality voidElimination voidEquality hypothesis callbyvalueReduce isectElimination intEquality independent_isectElimination addEquality hypothesisEquality natural_numberEquality because_Cache lambdaEquality unionElimination instantiate cumulativity independent_pairFormation addLevel productElimination impliesFunctionality equalityTransitivity equalitySymmetry independent_functionElimination applyEquality minusEquality isect_memberFormation axiomEquality rename inlFormation orFunctionality productEquality baseApply closedConclusion baseClosed imageElimination universeEquality imageMemberEquality equalityElimination lessCases sqequalAxiom inlEquality inrFormation dependent_set_memberEquality dependent_pairFormation promote_hyp int_eqReduceTrueSq int_eqReduceFalseSq

Latex:
\mforall{}l1,l2:\mBbbZ{}  List.  \mforall{}x,y:\mBbbZ{}.
    uiff(\muparrow{}[x  /  l1]  \mleq{}\_lex  [y  /  l2];||l1||  <  ||l2||
    \mvee{}  (x  <  y  \mwedge{}  (||l1||  =  ||l2||))
    \mvee{}  ((x  =  y)  \mwedge{}  (\muparrow{}l1  \mleq{}\_lex  l2)))



Date html generated: 2017_09_29-PM-05_49_43
Last ObjectModification: 2017_07_26-PM-01_37_54

Theory : list_0


Home Index