Nuprl Lemma : sbhomout-correct

[a,b,c,d:ℕ].
  (0 < b
   0 < d
   (∀[L:ℕList]
        (sbhomout(a;b;c;d;L) let m,n sbdecode(L) in sbcode((a m) (b n);(c m) (d n)) ∈ (ℕList))))


Proof




Definitions occuring in Statement :  sbhomout: sbhomout(a;b;c;d;L) sbdecode: sbdecode(L) sbcode: sbcode(m;n) list: List int_seg: {i..j-} nat: less_than: a < b uall: [x:A]. B[x] implies:  Q spread: spread def multiply: m add: m natural_number: $n equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q and: P ∧ Q cand: c∧ B uall: [x:A]. B[x] member: t ∈ T subtype_rel: A ⊆B nat: decidable: Dec(P) or: P ∨ Q uimplies: supposing a nat_plus: + ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top prop: so_lambda: λ2x.t[x] so_apply: x[s] sbhomout: sbhomout(a;b;c;d;L) nil: [] it: sbdecode: sbdecode(L) reduce: reduce(f;k;as) list_ind: list_ind squash: T le: A ≤ B uiff: uiff(P;Q) true: True guard: {T} int_seg: {i..j-} lelt: i ≤ j < k cons: [a b] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] iff: ⇐⇒ Q rev_implies:  Q bool: 𝔹 unit: Unit btrue: tt ifthenelse: if then else fi  mtge1: mtge1(a;b;c;d) bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b has-value: (a)↓ less_than': less_than'(a;b) less_than: a < b sbcode: sbcode(m;n) subtract: m nequal: a ≠ b ∈ 
Lemmas referenced :  mul_bounds_1a nat_plus_subtype_nat decidable__lt mul_preserves_lt nat_plus_properties nat_properties satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermAdd_wf itermMultiply_wf itermVar_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_add_lemma int_term_value_mul_lemma int_term_value_var_lemma int_formula_prop_le_lemma int_formula_prop_wf less_than_wf nat_plus_wf nat_wf list_induction int_seg_wf all_wf uall_wf le_wf equal_wf list_wf sbhomout_wf sbdecode_wf sbcode_wf ge_wf decidable__le subtract_wf itermSubtract_wf int_term_value_subtract_lemma squash_wf true_wf add-is-int-iff int_subtype_base mul-commutes one-mul int_seg_properties spread_cons_lemma iff_weakening_equal mtge1_wf bool_wf eqtt_to_assert eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot assert_wf bor_wf band_wf le_int_wf lt_int_wf or_wf iff_transitivity iff_weakening_uiff assert_of_bor assert_of_band assert_of_le_int assert_of_lt_int value-type-has-value int-value-type decidable__equal_int intformeq_wf int_formula_prop_eq_lemma false_wf lelt_wf intformor_wf int_formula_prop_or_lemma cons_wf top_wf mul_preserves_le mul-distributes-right add-associates minus-add minus-one-mul mul-associates add-swap add-commutes eq_int_wf assert_of_eq_int reduce_cons_lemma neg_assert_of_eq_int add_nat_plus multiply_nat_plus
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality applyEquality hypothesis sqequalRule independent_pairFormation because_Cache dependent_functionElimination natural_numberEquality productElimination setElimination rename unionElimination independent_isectElimination addEquality multiplyEquality dependent_pairFormation lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality computeAll functionEquality independent_functionElimination productEquality dependent_set_memberEquality equalityTransitivity equalitySymmetry intWeakElimination axiomEquality isect_memberFormation imageElimination baseApply closedConclusion baseClosed imageMemberEquality universeEquality equalityElimination promote_hyp instantiate cumulativity orFunctionality callbyvalueReduce lessCases sqequalAxiom minusEquality int_eqReduceTrueSq int_eqReduceFalseSq applyLambdaEquality

Latex:
\mforall{}[a,b,c,d:\mBbbN{}].
    (0  <  a  +  b
    {}\mRightarrow{}  0  <  c  +  d
    {}\mRightarrow{}  (\mforall{}[L:\mBbbN{}2  List]
                (sbhomout(a;b;c;d;L)
                =  let  m,n  =  sbdecode(L) 
                    in  sbcode((a  *  m)  +  (b  *  n);(c  *  m)  +  (d  *  n)))))



Date html generated: 2018_05_21-PM-11_42_24
Last ObjectModification: 2017_07_26-PM-06_42_52

Theory : rationals


Home Index