### Nuprl Lemma : test-int-cmp-normalize

`∀[x,y,a,b:Top].`
`  (if (a) < (b)`
`      then <if (a) < (b)  then 1  else 2, if (b) < (a)  then 1  else 2, if b=a  then 1  else 2>`
`      else <if (a) < (b)  then 1  else 2, if (b) < (a)  then 1  else 2, if b=a  then 1  else 2> ~ if (a) < (b)`
`                                                                                                     then <1, 2, 2>`
`                                                                                                     else <2`
`                                                                                                          , if (b) < (a)`
`                                                                                                               then 1`
`                                                                                                               else 2`
`                                                                                                          , if b=a`
`                                                                                                               then 1`
`                                                                                                               else 2>)`

Proof

Definitions occuring in Statement :  uall: `∀[x:A]. B[x]` top: `Top` less: `if (a) < (b)  then c  else d` int_eq: `if a=b  then c  else d` pair: `<a, b>` natural_number: `\$n` sqequal: `s ~ t`
Definitions unfolded in proof :  has-value: `(a)↓` member: `t ∈ T` and: `P ∧ Q` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` implies: `P `` Q` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` uimplies: `b supposing a` less_than: `a < b` less_than': `less_than'(a;b)` top: `Top` true: `True` squash: `↓T` not: `¬A` false: `False` prop: `ℙ` le: `A ≤ B` bfalse: `ff` exists: `∃x:A. B[x]` or: `P ∨ Q` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` ifthenelse: `if b then t else f fi ` assert: `↑b` iff: `P `⇐⇒` Q` rev_implies: `P `` Q`
Lemmas referenced :  lt_int_wf bool_wf eqtt_to_assert assert_of_lt_int top_wf less_than_wf less-iff-le add_functionality_wrt_le add-associates add-swap add-commutes le-add-cancel eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base iff_transitivity assert_wf bnot_wf not_wf iff_weakening_uiff assert_of_bnot eq_int_wf assert_of_eq_int le_antisymmetry_iff equal-wf-base has-value_wf_base is-exception_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity cut sqequalSqle divergentSqle callbyvalueLess sqequalHypSubstitution sqequalTransitivity computationStep hypothesis baseApply closedConclusion baseClosed hypothesisEquality productElimination thin introduction extract_by_obid isectElimination lambdaFormation unionElimination equalityElimination because_Cache independent_isectElimination equalityTransitivity equalitySymmetry lessCases isect_memberFormation sqequalAxiom isect_memberEquality independent_pairFormation voidElimination voidEquality natural_numberEquality imageMemberEquality imageElimination independent_functionElimination dependent_functionElimination addEquality dependent_pairFormation promote_hyp instantiate cumulativity impliesFunctionality int_eqReduceTrueSq intEquality int_eqReduceFalseSq sqleReflexivity lessExceptionCases axiomSqleEquality exceptionSqequal exceptionLess

Latex:
\mforall{}[x,y,a,b:Top].
(if  (a)  <  (b)
then  <if  (a)  <  (b)    then  1    else  2,  if  (b)  <  (a)    then  1    else  2,  if  b=a    then  1    else  2>
else  <if  (a)  <  (b)    then  1    else  2,  if  (b)  <  (a)    then  1    else  2,  if  b=a    then  1    else  2>
\msim{}  if  (a)  <  (b)    then  ə,  2,  2>    else  ɚ,  if  (b)  <  (a)    then  1    else  2,  if  b=a    then  1    else  2>)

Date html generated: 2017_04_14-AM-07_16_34
Last ObjectModification: 2017_02_27-PM-02_51_50

Theory : arithmetic

Home Index