### Nuprl Lemma : div_floor_bounds

`∀[a:ℤ]. ∀[n:ℤ-o].`
`  ((((a ÷↓ n) * n) ≤ a) ∧ a < ((a ÷↓ n) + 1) * n supposing 0 < n`
`  ∧ ((a ÷↓ n) + 1) * n < a ∧ (a ≤ ((a ÷↓ n) * n)) supposing n < 0)`

Proof

Definitions occuring in Statement :  div_floor: `a ÷↓ n` int_nzero: `ℤ-o` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` le: `A ≤ B` and: `P ∧ Q` multiply: `n * m` add: `n + m` natural_number: `\$n` int: `ℤ`
Definitions unfolded in proof :  div_floor: `a ÷↓ n` uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` int_nzero: `ℤ-o` nequal: `a ≠ b ∈ T ` not: `¬A` implies: `P `` Q` false: `False` prop: `ℙ` all: `∀x:A. B[x]` sq_type: `SQType(T)` guard: `{T}` and: `P ∧ Q` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` less_than: `a < b` less_than': `less_than'(a;b)` top: `Top` true: `True` squash: `↓T` cand: `A c∧ B` bfalse: `ff` exists: `∃x:A. B[x]` or: `P ∨ Q` bnot: `¬bb` ifthenelse: `if b then t else f fi ` assert: `↑b` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` le: `A ≤ B` subtype_rel: `A ⊆r B` nat: `ℕ` has-value: `(a)↓` int_lower: `{...i}` gt: `i > j` subtract: `n - m` so_lambda: `λ2x.t[x]` so_apply: `x[s]` decidable: `Dec(P)`
Lemmas referenced :  value-type-has-value int-value-type equal_wf div_rem_sum rem_bounds_z subtype_base_sq int_subtype_base lt_int_wf bool_wf eqtt_to_assert assert_of_lt_int top_wf less_than_wf less_than_transitivity2 le_weakening2 less_than_irreflexivity eqff_to_assert bool_cases_sqequal bool_subtype_base iff_transitivity assert_wf bnot_wf not_wf iff_weakening_uiff assert_of_bnot less_than'_wf subtract_wf member-less_than equal-wf-base-T absval_wf nat_wf div_floor_wf int_nzero_wf squash_wf true_wf absval_neg le_wf absval_pos not-gt-2 add_functionality_wrt_lt le_reflexive minus-one-mul-top add-associates minus-one-mul add-swap add-mul-special zero-mul zero-add mul-commutes add-commutes mul-distributes-right one-mul not-lt-2 add_functionality_wrt_le add-is-int-iff set_subtype_base nequal_wf multiply-is-int-iff decidable__le false_wf not-le-2 less-iff-le condition-implies-le minus-add minus-zero le-add-cancel2 add-zero two-mul decidable__lt le-add-cancel-alt mul-associates le-add-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin intEquality independent_isectElimination hypothesis remainderEquality hypothesisEquality setElimination rename because_Cache lambdaFormation independent_functionElimination voidElimination natural_numberEquality divideEquality instantiate cumulativity dependent_functionElimination equalityTransitivity equalitySymmetry independent_pairFormation isect_memberFormation unionElimination equalityElimination productElimination sqequalRule lessCases axiomSqEquality isect_memberEquality voidEquality imageMemberEquality baseClosed imageElimination dependent_pairFormation promote_hyp impliesFunctionality independent_pairEquality lambdaEquality addEquality multiplyEquality axiomEquality applyEquality callbyvalueReduce addLevel hyp_replacement dependent_set_memberEquality levelHypothesis minusEquality baseApply closedConclusion

Latex:
\mforall{}[a:\mBbbZ{}].  \mforall{}[n:\mBbbZ{}\msupminus{}\msupzero{}].
((((a  \mdiv{}\mdownarrow{}  n)  *  n)  \mleq{}  a)  \mwedge{}  a  <  ((a  \mdiv{}\mdownarrow{}  n)  +  1)  *  n  supposing  0  <  n
\mwedge{}  ((a  \mdiv{}\mdownarrow{}  n)  +  1)  *  n  <  a  \mwedge{}  (a  \mleq{}  ((a  \mdiv{}\mdownarrow{}  n)  *  n))  supposing  n  <  0)

Date html generated: 2019_06_20-AM-11_25_49
Last ObjectModification: 2018_08_20-PM-09_28_54

Theory : arithmetic

Home Index