[Imprint][Data Privacy Statement][E-Mail]

Back to main index. View the specification. View theorem base summary, View theorem base listing, the used properties by spec, the dependency list, the symbol table,

Theorem base for Specification int-div

This is a listing of all goals defined over the current specification. Axioms are marked yellow, proved theorems green and unproved theorems blue. Click on individual names to get more information on the proof.

Name: Sequent: Type:
Mod-def ⊦ j ≠ 0 → i = i / j * j + i % j An Axiom
Div-right ⊦ j ≠ 0 → i / ~ j = ~(i / j) An Axiom
Div-left ⊦ j ≠ 0 → ~ i / j = ~(i / j) An Axiom
Div-def ⊦ 0 ≤ i ∧ 0 < j → i / j * j ≤ i ∧ i < (i / j)+1 * j An Axiom
absj ≠ 0 ⊦ abs(i / j) = abs(i) / abs(j) A User Theorem
abs-01j ≠ 0 ⊦ abs(i / abs(j)) = abs(i / j) A User Theorem
abs-02j ≠ 0 ⊦ abs(abs(i) / j) = abs(i / j) A User Theorem
abs-030 ≠ j ⊦ abs(i) / j * abs(i) / j = i / j * i / j A User Theorem
abs-intro ⊦ 0 ≤ i ∧ 0 < j ∨ i < 0 ∧ j < 0 → i / j = abs(i) / abs(j) A User Theorem
abs-shift ⊦ j ≠ 0 → abs(i % j) = abs(i) % abs(j) A User Theorem
abs-shift-01 ⊦ j ≠ 0 → abs(i % j) = abs(i) % j A User Theorem
add-div-mult ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i / j + i0 / j) + (i % j + i0 % j) / j = (i + i0) / j A User Theorem
div-abs ⊦ i ≠ 0 → i / abs(i) ≠ 0 A User Theorem
div-add-both ⊦ i % j = 0 ∧ i0 % j = 0 ∧ 0 ≠ j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add-neg ⊦ i0 % j = 0 ∧ i < 0 ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add-nosucc ⊦ 1 < j ∧ 0 ≤ i ∧ i % j = 0 → (i + (j - 1)) / j = i / j A User Theorem
div-add-nosucc-neg ⊦ 1 < j ∧ i < 0 ∧ i % j = 0 → (i - (j - 1)) / j = i / j A User Theorem
div-add-pos ⊦ i0 % j = 0 ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add-rew ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j + (i % j + i0 % j) / j A User Theorem
div-add-succ ⊦ 1 < j ∧ 0 < i ∧ i % j ≠ 0 → (i + (j - 1)) / j = i / j + 1 A User Theorem
div-add-succ-neg ⊦ 1 < j ∧ i < 0 ∧ i % j ≠ 0 → (i - (j - 1)) / j = i / j - 1 A User Theorem
div-add1-negneg ⊦ i % j = 0 ∧ i < 0 ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add1-negpos-neg ⊦ i % j = 0 ∧ i + i0 < 0 ∧ i0 % j = 0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add1-negpos-neg-01 ⊦ i % j = 0 ∧ i + i0 < 0 ∧ i0 % j ≠ 0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j + 1 A User Theorem
div-add1-negpos-neg-02 ⊦ i % j = 0 ∧ i + i0 < 0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + (i0 + (j - 1)) / j A User Theorem
div-add1-negpos-pos ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add1-posneg-neg ⊦ i % j = 0 ∧ i + i0 < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add1-posneg-pos ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ i0 % j = 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-add1-posneg-pos-01 ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ i0 % j ≠ 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j - 1 A User Theorem
div-add1-posneg-pos-02 ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0) / j = i / j + (i0 - (j - 1)) / j A User Theorem
div-add1-pospos ⊦ i % j = 0 ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) / j = i / j + i0 / j A User Theorem
div-addthree-rew ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ i1 ∧ 0 < j → (i + i0 + i1) / j = i / j + i0 / j + i1 / j + (i % j + i0 % j + i1 % j) / j A User Theorem
div-am-rew ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j ∧ 0 ≤ i1 → (i + i0 * i1) / j = (i + i0 * i1 % j) / j + i0 * i1 / j A User Theorem
div-div ⊦ j ≠ 0 ∧ j0 ≠ 0 → (i / j) / j0 = i / (j * j0) A User Theorem
div-div-intro ⊦ j ≠ 0 ∧ j0 ≠ 0 → i / (j * j0) = (i / j) / j0 A User Theorem
div-div-numj ≠ 0, j0 ≠ 0 ⊦ (i / (* j)) / (* j0) = i / (j * j0) A User Theorem
div-div-pos ⊦ 0 ≤ i ∧ 0 < j ∧ 0 < j0 → (i / j) / j0 = i / (j * j0) A User Theorem
div-div-pred ⊦ i < 0 → ((i - 1) / 2 - 1) / 2 = (i - 3) / 4 A User Theorem
div-div-pred-01 ⊦ i < 0 → ((i - 3) / 4 - 1) / 2 = (i - 7) / 8 A User Theorem
div-div-switch ⊦ j ≠ 0 ∧ i ≠ 0 ∧ i % j = 0 → i1 / i / j = (i1 * j) / i A User Theorem
div-elim ⊦ 0 < j ∧ 0 < i → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < j) A User Theorem
div-elim-divides ⊦ 0 ≠ j ∧ i % j = 0 → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 = 0) A User Theorem
div-elim-negneg ⊦ j < 0 ∧ i < 0 → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 ≤ 0 ∧ j < j0 ∧ 0 ≤ i0) A User Theorem
div-elim-negpos ⊦ 0 < j ∧ i < 0 → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 ≤ 0 ∧ abs(j0) < j ∧ i0 ≤ 0) A User Theorem
div-elim-pos ⊦ 0 < j ∧ 0 ≤ i → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < j) A User Theorem
div-elim-posneg ⊦ j < 0 ∧ 0 ≤ i → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < abs(j) ∧ i0 ≤ 0) A User Theorem
div-elim-pospos ⊦ 0 < j ∧ 0 ≤ i → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < j ∧ 0 ≤ i0) A User Theorem
div-elim1 ⊦ j < 0 ∧ 0 ≤ i → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ 0 ≤ j0 ∧ j0 < abs(j)) A User Theorem
div-elim2 ⊦ 0 < j ∧ i < 0 → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 ≤ 0 ∧ abs(j0) < j) A User Theorem
div-elim3 ⊦ j < 0 ∧ i < 0 → (i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 ≤ 0 ∧ j < j0) A User Theorem
div-eq-same ⊦ 0 ≠ j → (j * i / j = i ↔ i % j = 0) A User Theorem
div-eq-same-01j ≠ 0 ⊦ i / j = i ↔ i = 0 ∨ j = 1 A User Theorem
div-eq-zero ⊦ 0 < i ∧ 0 < j → (i / j = 0 ↔ i < j) A User Theorem
div-eq-zero-01 ⊦ 0 ≠ j → (i / j = 0 ↔ abs(i) < abs(j)) A User Theorem
div-est-denom-pos ⊦ ¬ i0 ≤ i / j ∧ j ≤ j0 ∧ 0 ≤ i ∧ 0 < j → ¬ i0 ≤ i / j0 A User Theorem
div-est-nle-pos ⊦ ¬ i0 * j ≤ i ∧ 0 ≤ i ∧ 0 < j → ¬ i0 ≤ i / j A User Theorem
div-est-nls ⊦ ¬ i < i0 ∧ 0 ≤ i0 ∧ 0 < j → ¬ i / j < i0 / j A User Theorem
div-est-num ⊦ ¬ i / j < j0 ∧ i ≤ i0 ∧ 0 < j → ¬ i0 / j < j0 A User Theorem
div-le-modnotzero ⊦ i % j ≠ 0 ∧ 0 < j ∧ 0 ≤ i → (i0 ≤ i / j ↔ i0 * j < i) A User Theorem
div-le-modnotzero-01 ⊦ 0 ≤ i ∧ 0 < j → (i / j ≤ i0 ↔ ¬ i0 * j ≤ i ∨ i0 = i / j) A User Theorem
div-le-modzero ⊦ i % j = 0 ∧ 0 < j → (i0 ≤ i / j ↔ i0 * j ≤ i) A User Theorem
div-le-modzero-01 ⊦ i % j = 0 ∧ 0 ≤ i ∧ 0 < j → (i / j ≤ i0 ↔ ¬ i0 * j < i) A User Theorem
div-le-pos ⊦ j0 ≤ i / j ∧ i ≤ i0 ∧ 0 < j → j0 ≤ i0 / j A User Theorem
div-le-same ⊦ 0 < i ∧ 0 < j → (i ≤ i / j ↔ j = 1) A User Theorem
div-le-same-neg ⊦ i < 0 ∧ 0 < j → (i / j ≤ i ↔ i = 0 ∨ j = 1) A User Theorem
div-lezero ⊦ 0 < j → (i / j ≤ 0 ↔ i < j) A User Theorem
div-lsj0 ≤ i / j, i < i0, i0 % j = 0, 0 < j, 0 ≤ i ⊦ j0 < i0 / j A User Theorem
div-ls-01i < i0, i0 % j = 0, 0 < j, 0 ≤ i ⊦ i / j < i0 / j A User Theorem
div-ls-020 < j0, 0 ≤ i, i ≤ j, i / j0 ≠ j / j0 ⊦ i / j0 < j / j0 A User Theorem
div-ls-modnotzero ⊦ 0 ≤ i ∧ 0 < j → (i0 < i / j ↔ i0 * j ≤ i ∧ i0 ≠ i / j) A User Theorem
div-ls-modzero ⊦ i % j = 0 ∧ 0 ≤ i ∧ 0 < j → (i0 < i / j ↔ i0 * j < i) A User Theorem
div-ls-mone0 < j ⊦ i / (* j) < ~1 ↔ i + 2 * j ≤ 0 A User Theorem
div-ls-pos-better ⊦ 0 < j ∧ 0 ≤ i → (i / j < j0 ↔ i < j * j0) A User Theorem
div-ls-same ⊦ 0 < j → (i < i / j ↔ i < 0 ∧ 1 < j) A User Theorem
div-ls-zero0 < j ⊦ i / (* j) < 0 ↔ i + j ≤ 0 A User Theorem
div-minus-onediff ⊦ i % j ≠ 0 ∧ j0 = j - 1 ∧ i < 0 ∧ 0 < j → (i - j0) / j = i / j - 1 A User Theorem
div-minus-onediff-01 ⊦ i % j = 0 ∧ j0 = j - 1 ∧ i < 0 ∧ 0 < j → (i - j0) / j = i / j A User Theorem
div-minus255-256 ⊦ i % 256 ≠ 0 ∧ i < 0 → (i - 255) / 256 = i / 256 - 1 A User Theorem
div-minus255-256-01 ⊦ i % 256 = 0 ∧ i < 0 → (i - 255) / 256 = i / 256 A User Theorem
div-mone ⊦ j + 1 = 0 → i / j = ~ i A User Theorem
div-mone-01 ⊦ i / ~1 = ~ i A User Theorem
div-multj ≠ 0 ⊦ (j * i) / j = i A User Theorem
div-mult-01j ≠ 0, i0 ≠ 0 ⊦ (i * i0) / (j * i0) = i / j A User Theorem
div-mult-020 < j, 0 < i0, 0 ≤ i ⊦ (i * i0) / (j * i0) = i / j A User Theorem
div-mult-03j ≠ 0 ⊦ (i * j) / j = i A User Theorem
div-mult-le ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → i * i0 / j ≤ (i * i0) / j A User Theorem
div-mult-le-01 ⊦ 0 ≤ i ∧ 0 < j → (i ≤ j * i / j ↔ i % j = 0) A User Theorem
div-mult-ls ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → ¬ (i * i0) / j < i * i0 / j A User Theorem
div-mult-ls-pos ⊦ i % j ≠ 0 ∧ 0 ≤ i ∧ 0 < j → i / j * j < i A User Theorem
div-mult-neg ⊦ 0 < j ∧ i ≤ 0 ∧ i0 ≤ 0 ∧ abs(i0) < j → (j * i + i0) / j = i A User Theorem
div-mult-nle-est0 < i, 0 ≤ j ⊦ ¬ j / i ≤ i0 → ¬ j ≤ i * i0 A User Theorem
div-mult-nls-est0 < i, 0 ≤ j ⊦ ¬ j / i < i0 → ¬ j < i * i0 A User Theorem
div-mult-nls-est-010 < i, 0 ≤ j ⊦ ¬ i0 ≤ j / i → ¬ i * i0 < j A User Theorem
div-mult-nls-zero ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → ¬ (i * i0) / j < 0 A User Theorem
div-mult-numj ≠ 0, j0 % j = 0 ⊦ (i * (* j0)) / (* j) = i * j0 / j A User Theorem
div-mult-num-01j % j0 = 0, j ≠ 0, j0 ≠ 0 ⊦ (i * (* j0)) / (* j) = i / j / j0 A User Theorem
div-mult-pos ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ i0 < j → (j * i + i0) / j = i A User Theorem
div-mult-pos-01 ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0 * j) / j = i / j + i0 A User Theorem
div-mult-pos-02 ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ i0 < j → (i * j + i0) / j = i A User Theorem
div-mult-pos-03 ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + j * i0) / j = i / j + i0 A User Theorem
div-mult-pos-rew ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 → i / j + i0 = (i + i0 * j) / j A User Theorem
div-mult-rew ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i * i0) / j = i / j * i0 + (i % j * i0) / j A User Theorem
div-mult-rew-01 ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → i / j * i0 = (i * i0) / j - (i % j * i0) / j A User Theorem
div-mult-shift-holds ⊦ i % j * i0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i * i0) / j = i / j * i0 A User Theorem
div-mult-three ⊦ 2 < i → 0 < (2 * i) / 3 A User Theorem
div-mult-three-nls ⊦ 2 ≤ j → ¬ (j * j * j) / 3 < j A User Theorem
div-mult-two-nls ⊦ 0 ≤ i ∧ 0 < j → ¬ (2 * i) / j < 2 * i / j A User Theorem
div-mult-two-nls-01 ⊦ 0 ≤ i ∧ 0 < j → ¬ 1 + 2 * i / j < (2 * i) / j A User Theorem
div-nearer-zeroj ≠ 0 ⊦ abs(i / j * j) ≤ abs(i) A User Theorem
div-ngr-zero ⊦ i < 0 ∧ 0 < j → (0 ≤ i / j ↔ abs(i) < j) A User Theorem
div-nle ⊦ 0 < j ∧ i < i0 ∧ 0 ≤ i → ¬ i0 ≤ i / j A User Theorem
div-nls ⊦ ¬ i0 < i ∧ 0 ≤ i ∧ 0 < j → ¬ i0 < i / j A User Theorem
div-nls-01 ⊦ ¬ i0 < abs(i) ∧ i ≤ 0 ∧ j < 0 → ¬ i0 < i / j A User Theorem
div-rec0 < j, j ≤ i ⊦ i / j = (i - j) / j + 1 A User Theorem
div-rec-01j < 0, i ≤ j ⊦ i / j = (i - j) / j + 1 A User Theorem
div-samei ≠ 0 ⊦ i / i = 1 A User Theorem
div-shift-twoi0 = (i / 2) / j * 2, j ≠ 0, 0 ≤ i, 0 ≤ j ⊦ i / j = i0 + (i - j * i0 < j ⊃ 0;1) A User Theorem
div-subj ≠ 0 ⊦ (j - i * j) / j = 1 - i A User Theorem
div-sub-01j ≠ 0, i % j = 0, i0 % j = 0 ⊦ i / j - i0 / j = (i - i0) / j A User Theorem
div-sum-ls ⊦ 0 ≤ i ∧ 0 ≤ i1 ∧ 0 < i + i1 ∧ 0 < j1 ∧ 0 < j2 ∧ 0 < j ∧ j1 < j ∧ j2 < j → (i * j1 + i1 * j2) / j < i + i1 A User Theorem
div-sum-ls-01 ⊦ 0 < i ∧ 0 < i1 ∧ 0 < j1 ∧ 0 < j2 ∧ 0 < j ∧ j1 < j ∧ j2 < j → (i * j1 + i1 * j2) / j < i + i1 A User Theorem
div-two ⊦ 0 ≤ i → (2 * i + 1) / 2 = i A User Theorem
div-two-01j ≠ 0 ⊦ (2 * i) / (2 * j) = i / j A User Theorem
div-two-intro ⊦ j % 2 = 0 ∧ j ≠ 0 → i / j = (i / 2) / j / 2 A User Theorem
div-two-zero ⊦ 0 < i → (i / 2 = 0 ↔ i = 1) A User Theorem
div-two-zero-01 ⊦ 0 ≤ i / 2 ↔ ~1 ≤ i A User Theorem
div-twoodd0 ≤ i, 0 < j ⊦ (2 * i + 1) / (2 * j) = i / j A User Theorem
div-twoodd-01 ⊦ i < 0 ∧ i % 2 = 0 → (i - 1) / 2 = i / 2 A User Theorem
div-twoodd-020 ≤ i, j < 0 ⊦ (2 * i + 1) / (2 * j) = i / j A User Theorem
div-twoodd-03i < 0, 0 < j ⊦ (2 * i - 1) / (2 * j) = i / j A User Theorem
div-twoodd-04i < 0, j < 0 ⊦ (2 * i - 1) / (2 * j) = i / j A User Theorem
div-twoodd-05i < 0, 0 < j ⊦ (2 * i + 1) / (2 * j) = (i + 1) / j A User Theorem
div-twoodd-060 ≤ i, j ≠ 0 ⊦ (2 * i + 1) / (2 * j) = i / j A User Theorem
div-twoodd-07i < 0, j < 0 ⊦ (2 * i + 1) / (2 * j) = (i + 1) / j A User Theorem
div-zero0 < j, 0 ≤ i, i < j ⊦ i / j = 0 A User Theorem
div-zero-010 < j, i < 0, abs(i) < j ⊦ i / j = 0 A User Theorem
div-zero-02abs(i) < abs(j) ⊦ i / j = 0 A User Theorem
div-zero-030 < j ⊦ 0 ≤ i ∧ i < j → i / (* j) = 0 A User Theorem
div-zero-040 < j ⊦ 0 < i ∧ i < j → i / (* j) = 0 A User Theorem
div-zero-05 ⊦ i < j ∧ 0 < j ∧ 0 ≤ i → i / j = 0 A User Theorem
div-zero-06 ⊦ i < j ∧ 0 < j ∧ 0 < i → i / j = 0 A User Theorem
div-zero-ngr ⊦ i < 0 ∧ 0 < j → ¬ 0 < i / j A User Theorem
div-zero-ngr-01 ⊦ 0 ≤ i ∧ j < 0 → ¬ 0 < i / j A User Theorem
div-zero-nls ⊦ 0 ≤ i ∧ 0 < j → ¬ i / j < 0 A User Theorem
div-zero-nls-01 ⊦ j ≠ 0 → ¬ abs(i) / abs(j) < 0 A User Theorem
div2-add-neg ⊦ j % 2 = 0 ∧ i ≤ 0 ∧ abs(i) ≤ j → (i + j) / 2 = (i - 1) / 2 + j / 2 A User Theorem
div2-neg ⊦ i / 2 < 0 → i < 0 A User Theorem
div2-neg-01 ⊦ j < 0 → ¬ j / 2 ≤ j A User Theorem
div2-neg-odd ⊦ j < 0 → (j * 2 - 1) / 2 = j A User Theorem
div2-nle ⊦ 0 < i → ¬ i ≤ i / 2 A User Theorem
div2-nle-01 ⊦ 1 < i → ¬ i / 2 ≤ 0 A User Theorem
div2-nle-02 ⊦ 0 ≤ i ∧ i < j → ¬ j ≤ (i + j) / 2 A User Theorem
div2-nls ⊦ i ≤ j → ¬ j < (i + j) / 2 A User Theorem
div2-nls-01 ⊦ i < j → ¬ j < (i + j) / 2 A User Theorem
div2-nls-02 ⊦ i ≤ j → ¬ (i + j) / 2 < i A User Theorem
div2-nls-03 ⊦ i < j → ¬ (i + j) / 2 < i A User Theorem
div2-notzero ⊦ j < 0 → (j - 1) / 2 ≠ 0 A User Theorem
div2-oddi % 2 = 0, 0 ≤ i ⊦ (i + 1) / 2 = i / 2 A User Theorem
div2-odd-01 ⊦ i < 0 → (1 - i * 2) / 2 = ~ i A User Theorem
div2-one ⊦ 1 / 2 = 0 A User Theorem
div2-zero ⊦ i / 2 = 0 ↔ i = 0 ∨ i = 1 ∨ i = ~ 1 A User Theorem
div2one ⊦ i % 2 = 1 ∧ 0 < i → i / 2 * 2 + 1 = i A User Theorem
div2one-01 ⊦ i % 2 = 1 → (1 + i / 2) * 2 = i + 1 A User Theorem
div2zero ⊦ i % 2 ≠ 1 ∧ 0 < i → i / 2 * 2 = i A User Theorem
div53 ⊦ (1 + 1 + 1 + 1 + 1) / (1 + 1 + 1) = 1 A User Theorem
diveq-negi0 * j + j0 < 0, i0 < 0, j0 ≤ 0, abs(j0) < j ⊦ (i0 * j + j0) / j = i0 A User Theorem
diveq-pos0 ≤ i0 * j + j0, 0 ≤ j0, j0 < j ⊦ (i0 * j + j0) / j = i0 A User Theorem
divmod-rewj ≠ 0 ⊦ i / j * j + i % j = i A User Theorem
divmultj ≠ 0 ⊦ i % j = 0 → i / j * j = i A User Theorem
estimate-010 < i, 0 < i0, 0 < j, j < i, j0 < i0 ⊦ j0 < (i * i0) / j A User Theorem
even-add ⊦ (i + j) % 2 = 0 ↔ i % 2 = 0 ∧ j % 2 = 0 ∨ i % 2 ≠ 0 ∧ j % 2 ≠ 0 A User Theorem
even-mult ⊦ (i * j) % 2 = 0 ↔ i % 2 = 0 ∨ j % 2 = 0 A User Theorem
even-not ⊦ (2 * i + 1) % 2 ≠ 0 A User Theorem
even-not-ex ⊦ i % 2 = 0 ↔ ¬(∃ i0. i = 2 * i0 + 1) A User Theorem
even-or-succ-even0 ≤ i ⊦ i % 2 = 0 ∨ (i + 1) % 2 = 0 A User Theorem
exeveni % 2 = 0 ⊦ ∃ j. i = 2 * j A User Theorem
exoddi % 2 = 1, 0 ≤ i ⊦ ∃ j. 0 ≤ j ∧ i = 2 * j + 1 A User Theorem
is-div ⊦ 0 ≤ i0 ∧ 0 ≤ i ∧ 0 < j ∧ i0 * j ≤ i ∧ i < (i0 + 1) * j → i0 = i / j A User Theorem
le-abs-numeratorj ≠ 0 ⊦ ~ abs(i) ≤ i / j ∧ i / j ≤ abs(i) A User Theorem
le-norest ⊦ i % j = 0 ∧ i0 % j = 0 ∧ 0 ≤ i ∧ 0 < j ∧ 0 ≤ i0 → (i / j ≤ i0 / j ↔ i ≤ i0) A User Theorem
leone-two ⊦ i / 2 ≤ 1 ↔ i ≤ 1 + 1 + 1 A User Theorem
less-mult-div ⊦ 0 < i ∧ 0 < i1 ∧ 0 < j ∧ i1 < j → i * i1 / j < i A User Theorem
less-mult-div-01 ⊦ 0 < i ∧ 0 < j ∧ 0 < j1 ∧ i1 < j → (i * i1) / j < i A User Theorem
less-mult-div-02 ⊦ 0 < i ∧ 0 < j ∧ i1 < j → (i * i1) / j < i A User Theorem
letwo ⊦ 1 < i → ¬ i ≤ i / 2 A User Theorem
letwozero ⊦ i < 0 → (0 ≤ i / 2 ↔ i = ~1) A User Theorem
ls0 ≤ i0, 0 < i, 0 < j, i0 / i < i0 / j ⊦ j < i A User Theorem
ls-01i0 ≠ 0, j0 ≠ 0, 0 ≤ i, 0 ≤ i0, i ≤ j, i0 ≤ j0 ⊦ i / j0 ≤ j / i0 A User Theorem
ls-020 < i0, i / i0 < j / i0 ⊦ i < j A User Theorem
ls-030 < j0, 0 ≤ i, i ≤ j ⊦ i / j0 ≤ j / j0 A User Theorem
ls-even ⊦ i % 2 = 0 ∧ j % 2 = 0 ∧ 0 ≤ i ∧ 0 ≤ j → (i / 2 < j / 2 ↔ i < j) A User Theorem
ls-even-01 ⊦ i % 2 = 0 ∧ j % 2 = 0 → (i / 2 < j / 2 ↔ i < j) A User Theorem
ls-same-pos ⊦ 0 ≤ i ∧ 0 < j → i / j * j ≤ i A User Theorem
ls-same-pos-01 ⊦ 0 ≤ i ∧ 0 < j → i < (i / j + 1) * j A User Theorem
ls-same-pos-02 ⊦ 0 ≤ i ∧ 0 < j → ¬ i < i / j * j A User Theorem
ls-succ ⊦ 0 < i ∧ 0 < j → i / (j + 1) ≤ i / j A User Theorem
lsf ⊦ i / i0 < j / i0 ∧ 0 < i0 → i < j A User Theorem
lsf-01 ⊦ i0 / i < i0 / j ∧ 0 ≤ i0 ∧ 0 < i ∧ 0 < j → j < i A User Theorem
lsf-02 ⊦ i / j < i / i0 ∧ 0 < j ∧ 0 < i0 ∧ i < 0 → j < i0 A User Theorem
lsfc0 ≤ i0, 0 < i, 0 < j ⊦ i0 / i < i0 / j → j < i A User Theorem
lsfc-010 < i0 ⊦ i / i0 < j / i0 → i < j A User Theorem
lsfc-020 < i0 ⊦ i / i0 + j / i0 < 0 → i + j < 0 A User Theorem
lstwozero ⊦ i < 0 → ¬ 0 < i / 2 A User Theorem
minus-addj0 ≠ 0 ⊦ (i - j) / j0 + (j - i) / j0 = 0 A User Theorem
mod-abs ⊦ j ≠ 0 → i % abs(j) = i % j A User Theorem
mod-abs-intro ⊦ j ≠ 0 → i % j = i % abs(j) A User Theorem
mod-add ⊦ 0 < i ∧ 0 ≤ j → (i + j) % i = j % i A User Theorem
mod-add-01 ⊦ 0 < i ∧ j < 0 ∧ i ≤ abs(j) → (i + j) % i = j % i A User Theorem
mod-add-both-zero ⊦ i % j = 0 ∧ i0 % j = 0 ∧ 0 ≠ j → (i + i0) % j = 0 A User Theorem
mod-add-neg ⊦ i0 % j = 0 ∧ i < 0 ∧ i0 < 0 ∧ 0 < j → (i + i0) % j = i % j A User Theorem
mod-add-pos ⊦ i0 % j = 0 ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) % j = i % j A User Theorem
mod-add-zero ⊦ 0 ≤ i ∧ 0 < j ∧ 0 ≤ i1 ∧ i % j + j * i1 = 0 → i1 = 0 A User Theorem
mod-add1-negneg ⊦ i % j = 0 ∧ i < 0 ∧ i0 < 0 ∧ 0 < j → (i + i0) % j = i0 % j A User Theorem
mod-add1-negpos-neg ⊦ i % j = 0 ∧ i + i0 < 0 ∧ i < 0 ∧ 0 ≤ i0 ∧ i0 % j ≠ 0 ∧ 0 < j → (i + i0) % j = i0 % j - j A User Theorem
mod-add1-negpos-pos ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) % j = i0 % j A User Theorem
mod-add1-posneg-neg ⊦ i % j = 0 ∧ i + i0 < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0) % j = i0 % j A User Theorem
mod-add1-posneg-pos ⊦ i % j = 0 ∧ 0 ≤ i + i0 ∧ 0 ≤ i ∧ i0 < 0 ∧ i0 % j ≠ 0 ∧ 0 < j → (i + i0) % j = i0 % j + j A User Theorem
mod-add1-pospos ⊦ i % j = 0 ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i + i0) % j = i0 % j A User Theorem
mod-by6 ⊦ 0 ≤ i → (i * (i + 1) * (2 * i + 1)) % 6 = 0 A User Theorem
mod-div-ls0 ≤ i0, i0 < i1, 0 < j, 0 ≤ i ⊦ (i0 + i1 * i % j) / j < i1 A User Theorem
mod-div-zero ⊦ j ≠ 0 → (i % j) / j = 0 A User Theorem
mod-four ⊦ 1 % (1 + 1 + 1 + 1) = 1 A User Theorem
mod-gez ⊦ j ≠ 0 → (0 ≤ i % j ↔ 0 ≤ i ∨ i % j = 0) A User Theorem
mod-grz ⊦ 0 < j ∧ i < 0 → ¬ 0 < i % j A User Theorem
mod-grz-01 ⊦ i < 0 ∧ j ≠ 0 → ¬ 0 < i % j A User Theorem
mod-grz-02 ⊦ i < 0 ∧ j < 0 → ¬ 0 < i % j A User Theorem
mod-le ⊦ j ≤ j0 + 1 ∧ 0 ≤ i ∧ 0 < j → i % j ≤ j0 A User Theorem
mod-le-01 ⊦ j ≤ j0 ∧ 0 ≤ i ∧ 0 < j → i % j ≤ j0 A User Theorem
mod-le-numj < j0, 0 < j ⊦ i % (* j) ≤ (* j0) A User Theorem
mod-les ⊦ 0 < j → ¬ j ≤ i % j A User Theorem
mod-less ⊦ j > 0 → i % j < j A User Theorem
mod-less-01 ⊦ 0 < j → i % j < j A User Theorem
mod-lezero ⊦ 0 < j → ¬ j + i % j ≤ 0 A User Theorem
mod-ls-same ⊦ 0 < j ∧ 0 ≤ i → i % j < j A User Theorem
mod-ls-same-01j ≠ 0 ⊦ i % j < i ↔ 0 < i ∧ (abs(j) = 1 ∨ abs(j) ≤ i) A User Theorem
mod-ls-same-02j ≠ 0 ⊦ i < i % j ↔ i < 0 ∧ (abs(j) = 1 ∨ abs(j) ≤ abs(i)) A User Theorem
mod-ls-zero0 < j ⊦ i % (* j) < 0 ↔ i < 0 ∧ i % j ≠ 0 A User Theorem
mod-lsz ⊦ 0 < j → ¬ j + i % j < 0 A User Theorem
mod-lsz-01 ⊦ j ≠ 0 → (i % j < 0 ↔ i < 0 ∧ i % j ≠ 0) A User Theorem
mod-mod-less ⊦ j % i = 0 ∧ 0 < i ∧ 0 < j ∧ 0 ≤ i1 ∧ i < j → (i1 % j) % i = i1 % i A User Theorem
mod-mult0 ≤ i, 0 < j, 0 < i0 ⊦ (i0 * i) % (i0 * j) = i % j * i0 A User Theorem
mod-mult-010 ≠ j, 0 < i0 ⊦ (i0 * i) % (i0 * j) = i % j * i0 A User Theorem
mod-mult-020 ≠ j, i0 ≠ 0 ⊦ (i0 * i) % (i0 * j) = i % j * i0 A User Theorem
mod-mult-030 ≠ j ⊦ (2 * i) % (2 * j) = i % j * 2 A User Theorem
mod-mult-04j ≠ 0 ⊦ (i * j) % j = 0 A User Theorem
mod-mult-neg ⊦ 0 < j ∧ i ≤ 0 ∧ i0 ≤ 0 ∧ abs(i0) < j → (j * i + i0) % j = i0 A User Theorem
mod-mult-neg-01 ⊦ 0 < j ∧ i ≤ 0 ∧ 0 ≤ i0 ∧ i0 < j → (j * i - i0) % j = ~ i0 A User Theorem
mod-mult-neg-02 ⊦ 0 < j ∧ i ≤ 0 ∧ i0 ≤ 0 → (j * i + i0) % j = i0 % j A User Theorem
mod-mult-neg-03 ⊦ 0 < j ∧ i ≤ 0 ∧ i0 ≤ 0 → (i * j + i0) % j = i0 % j A User Theorem
mod-mult-pos ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ i0 < j → (j * i + i0) % j = i0 A User Theorem
mod-mult-pos-01 ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 → (j * i + i0) % j = i0 % j A User Theorem
mod-mult-pos-02 ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 → (i * j + i0) % j = i0 % j A User Theorem
mod-negj ≠ 0 ⊦ i % ~ j = i % j A User Theorem
mod-neg-01j ≠ 0 ⊦ ~ i % j = ~(i % j) A User Theorem
mod-neqj ≠ 0 ⊦ i % j ≠ j A User Theorem
mod-neq-01j ≠ 0 ⊦ i % j + j ≠ 0 A User Theorem
mod-neq-02 ⊦ j ≤ j0 ∧ 0 < j → i % j ≠ j0 A User Theorem
mod-next-square ⊦ ((i * i) * (i + 1) * (i + 1)) % 4 = 0 A User Theorem
mod-ngez ⊦ 0 < j ∧ i < 0 → (0 ≤ i % j ↔ i % j = 0) A User Theorem
mod-ngez-01 ⊦ i < 0 ∧ j < 0 → (0 ≤ i % j ↔ i % j = 0) A User Theorem
mod-ngr ⊦ i < 0 ∧ 0 < j → (0 ≤ i % j ↔ i % j = 0) A User Theorem
mod-nle ⊦ 0 < i ∧ 0 ≤ j → (j ≤ j % i ↔ j < i) A User Theorem
mod-nle-01 ⊦ 0 < j ∧ 0 ≤ i ∧ j ≤ i0 → ¬ i0 ≤ i % j A User Theorem
mod-nle-02 ⊦ j0 ≤ ~ j ∧ 0 < j → ¬ i % j ≤ j0 A User Theorem
mod-nlsj ≠ 0 ⊦ j0 = 1 + ~ j ∧ j0 < 0 → ¬ i % j < j0 A User Theorem
mod-nls-01 ⊦ j ≤ i0 ∧ 0 < j → ¬ i0 < i % j A User Theorem
mod-nls-02 ⊦ i0 ≤ i ∧ i0 < 0 ∧ j ≠ 0 → ¬ i % j < i0 A User Theorem
mod-nls-03 ⊦ i ≤ i0 ∧ 0 ≤ i0 ∧ j ≠ 0 → ¬ i0 < i % j A User Theorem
mod-nls-04 ⊦ i0 - 1 ≤ ~ abs(j) ∧ j ≠ 0 → ¬ i % j < i0 A User Theorem
mod-nls-05 ⊦ j ≤ i0 + 1 ∧ 0 < j → ¬ i0 < i % j A User Theorem
mod-nls-06j ≠ 0 ⊦ abs(j) ≤ i0 + 1 → ¬ i0 < i % j A User Theorem
mod-not-less ⊦ j < 0 ∧ i < 0 → ¬ i % j ≤ j A User Theorem
mod-one ⊦ i % 1 = 0 A User Theorem
mod-one-01 ⊦ 1 % 2 = 1 A User Theorem
mod-pos-not-neg ⊦ 0 < i1 ∧ 0 < i % i1 → ¬ i < 0 A User Theorem
mod-pred ⊦ (i - 1) % j + 1 ≠ j ∧ 0 < i ∧ 0 < j → i % j = (i - 1) % j + 1 A User Theorem
mod-pred-01 ⊦ (i - 1) % j + 1 = j ∧ 0 < i ∧ 0 < j → i % j = 0 A User Theorem
mod-pred-02 ⊦ i % j ≠ 0 ∧ 0 < i ∧ 0 < j → (i - 1) % j = i % j - 1 A User Theorem
mod-pred-03 ⊦ (i + 1) % j ≠ 0 ∧ 0 ≤ i ∧ 0 < j → i % j = (i + 1) % j - 1 A User Theorem
mod-pred-04 ⊦ (i + 1) % j = 0 ∧ 0 ≤ i ∧ 0 < j → i % j = j - 1 A User Theorem
mod-pred-neg ⊦ i % j - 1 ≠ ~ j ∧ i < 0 ∧ 0 < j → i % j = (i - 1) % j + 1 A User Theorem
mod-pred-neg-01 ⊦ (i - 1) % j ≠ 0 ∧ i < 0 ∧ 0 < j → i % j = (i - 1) % j + 1 A User Theorem
mod-rec0 < j, j ≤ i ⊦ i % j = (i - j) % j A User Theorem
mod-rec-01i ≤ j, j < 0 ⊦ i % j = (i - j) % j A User Theorem
mod-rewj ≠ 0 ⊦ i % j = i - i / j * j A User Theorem
mod-samei ≠ 0 ⊦ i % i = 0 A User Theorem
mod-shift ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i * i0 % j) % j = (i * i0) % j A User Theorem
mod-sub ⊦ 0 < i ∧ j < 0 → (i - j) % i = ~(j % i) A User Theorem
mod-sub-01 ⊦ 0 < i ∧ 0 ≤ j ∧ i ≤ j → (i - j) % i = ~(j % i) A User Theorem
mod-sub-02 ⊦ 0 ≤ i ∧ j < i ∧ 0 < j ∧ 0 ≤ i0 ∧ i0 * j ≤ i ∧ i < (i0 + 1) * j → i % j = i - i0 * j A User Theorem
mod-succ ⊦ 1 < i → (i + 1) % i = 1 A User Theorem
mod-succ-01 ⊦ i % j + 1 ≠ j ∧ 0 ≤ i ∧ 0 < j → (i + 1) % j = i % j + 1 A User Theorem
mod-succ-02 ⊦ i % j + 1 = j ∧ 0 ≤ i ∧ 0 < j → (i + 1) % j = 0 A User Theorem
mod-three ⊦ (1 + 1 + 1) % 2 = 1 A User Theorem
mod-two ⊦ i % 2 ≠ 1 ∧ 0 < i → i % 2 = 0 A User Theorem
mod-two-01 ⊦ i % 2 + 1 ≠ 0 ∧ i < 0 → i % 2 = 0 A User Theorem
mod-two-02 ⊦ (i * 2) % 2 = 0 A User Theorem
mod-two-03 ⊦ 0 < i → (i * 2 - 1) % 2 = 1 A User Theorem
mod-two-04 ⊦ 0 ≤ i → (i * 2 + 1) % 2 = 1 A User Theorem
mod-two-05 ⊦ i % 2 ≠ 1 ∧ 1 < i → i % 2 = 0 A User Theorem
mod-two-06 ⊦ 0 < i → (i % 2 = 1 ↔ i % 2 ≠ 0) A User Theorem
mod-two-pred ⊦ 0 < i → (2 * i - 1) % 2 = 1 A User Theorem
mod-two-pred-01 ⊦ i < 0 → (2 * i - 1) % 2 = ~1 A User Theorem
mod-two-pred-02 ⊦ i < 0 → (1 - 2 * i) % 2 = 1 A User Theorem
mod-twoeveni % 2 = 0, j ≠ 0 ⊦ i % (2 * j) = (i / 2) % j * 2 A User Theorem
mod-twoodd0 ≤ i, 0 < j ⊦ (2 * i + 1) % (2 * j) = i % j * 2 + 1 A User Theorem
mod-twoodd-01i % 2 = 1, 0 ≤ i, 0 < j ⊦ i % (2 * j) = (i / 2) % j * 2 + 1 A User Theorem
mod-twoodd-02 ⊦ j % (2 * i) = 1 ∧ 0 < i ∧ 0 ≤ j → j % 2 = 1 A User Theorem
mod-twoodd-03i < 0, 0 < j ⊦ (2 * i + 1) % (2 * j) = (i + 1) % j * 2 - 1 A User Theorem
mod-zero ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j A User Theorem
mod-zero-01 ⊦ 0 < j ∧ 0 ≤ i → ¬ i % j < 0 A User Theorem
mod-zero-02 ⊦ 0 ≤ i ∧ 0 < j → (i % j ≤ 0 ↔ i % j = 0) A User Theorem
mod-zero-030 < j, 0 ≤ i, i < j ⊦ i % j = i A User Theorem
mod-zero-04j ≠ 0 ⊦ 0 % j = 0 A User Theorem
mod-zero-05 ⊦ abs(i) < j → i % j = i A User Theorem
mod-zero-06 ⊦ 0 ≤ i ∧ j ≠ 0 → ¬ i % j < 0 A User Theorem
mod-zero-070 < j ⊦ 0 ≤ i ∧ i < j → i % (* j) = i A User Theorem
mod-zero-080 < j ⊦ 0 < i ∧ i < j → i % (* j) = i A User Theorem
mod-zero-09 ⊦ 0 < i ∧ i < j → i % j = i A User Theorem
mod-zero-ls ⊦ 0 < i ∧ 0 < j → ¬ i % j < 0 A User Theorem
mod-zero-numi0 % j = 0, j ≠ 0 ⊦ (i * (* i0)) % (* j) = 0 A User Theorem
mod-zero-one0 ≤ i, 0 ≤ i0, 0 < j ⊦ (i % j + i0 % j) / j = 1 ∨ (i % j + i0 % j) / j = 0 A User Theorem
mod2-add-neg ⊦ j % 2 = 0 ∧ i ≤ 0 ∧ abs(i) ≤ j → (i + j) % 2 = ~ i % 2 A User Theorem
mod2-neg-odd ⊦ j < 0 → (j % 2 = ~1 ↔ j % 2 ≠ 0) A User Theorem
mod256 ⊦ ¬ 255 < i % 256 A User Theorem
mod53 ⊦ (1 + 1 + 1 + 1 + 1) % (1 + 1 + 1) = 1 + 1 A User Theorem
mod62 ⊦ (1 + 1 + 1 + 1 + 1 + 1) % 2 = 0 A User Theorem
modby6-help ⊦ (i + 1) * (2 + i) * (2 * (i + 1) + 1) = 6 * (i + 1) * (i + 1) + i * (i + 1) * (2 * i + 1) A User Theorem
modeq-negi0 * j + j0 < 0, 0 < j, j0 < 0 ⊦ (i0 * j + j0) % j = j0 % j A User Theorem
modeq-neg-02i0 * j + j0 < 0, 0 < j, 0 ≤ j0, j0 % j ≠ 0 ⊦ (i0 * j + j0) % j = j0 % j - j A User Theorem
modeq-pos0 ≤ i0 * j + j0, 0 ≤ j0, j0 < j ⊦ (i0 * j + j0) % j = j0 A User Theorem
modeq-pos-010 ≤ i0 * j + j0, j0 < 0, abs(j0) < j ⊦ (i0 * j + j0) % j = j + j0 A User Theorem
modeq-pos-020 ≤ i0 * j + j0, 0 < j, 0 ≤ j0 ⊦ (i0 * j + j0) % j = j0 % j A User Theorem
modeq-pos-030 ≤ i0 * j + j0, 0 < j, j0 < 0, j0 % j ≠ 0 ⊦ (i0 * j + j0) % j = j0 % j + j A User Theorem
modeq-pos-040 ≤ i0 * j - j0, 0 < j, 0 < j0, j0 % j ≠ 0 ⊦ (i0 * j - j0) % j = j - j0 % j A User Theorem
modeven-neg ⊦ i < 0 ∧ i % 2 = 0 → (i + 1) % 2 = ~1 A User Theorem
modeven-neg-01 ⊦ i < 0 → ((i + 1) % 2 = 0 ↔ ¬((i + 1) % 2 = ~1 ∧ i % 2 = 0)) A User Theorem
modeven-pos ⊦ 0 < i ∧ i % 2 = 0 → (i + 1) % 2 = 1 A User Theorem
modexj ≠ 0 ⊦ i % j = 0 ↔ (∃ j0. i = j0 * j) A User Theorem
modex-odd ⊦ i % 2 = 1 ↔ (∃ j. i = 2 * j + 1 ∧ 0 ≤ j) A User Theorem
modex-odd-neg ⊦ i % 2 = ~1 ↔ (∃ j. i = 2 * j - 1 ∧ j ≤ 0) A User Theorem
modex-odd-neg-01 ⊦ i % 2 = ~1 ↔ (∃ j. i = 2 * j + 1 ∧ j < 0) A User Theorem
modmodj ≠ 0 ⊦ (i % j) % j = i % j A User Theorem
modmod-add0 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j + i0) % j = (i + i0) % j A User Theorem
modmod-add-010 ≠ j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j + i0) % j = (i + i0) % j A User Theorem
modmod-add-020 ≠ j ⊦ i ≤ 0 ∧ i0 ≤ 0 → (i % j + i0) % j = (i + i0) % j A User Theorem
modmod-add-03j ≠ 0 ⊦ i < 0 ∧ i0 < 0 → (i % j + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add-04 ⊦ 0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 → (i % j + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add-case0 < j ⊦ (i + i0 % j) % j = (i + i0) % j ∨ (i + i0 % j) % j = (i + i0) % j + j ∨ (i + i0 % j) % j = (i + i0) % j - j A User Theorem
modmod-add-if0 < j ⊦ (i + i0 % j) % j = (0 ≤ i ⊃ (0 ≤ i0 ⊃ (i + i0) % j;(0 ≤ i + i0 ⊃ (i + i0) % j;(i + i0 % j < 0 ⊃ (i + i0) % j;((i + i0 % j) % j ≠ 0 ⊃ (i + i0) % j + j;0)))) ;(i0 < 0 ⊃ (i + i0) % j;(i + i0 < 0 ⊃ (i + i0) % j;(0 ≤ i + i0 % j ⊃ (i + i0) % j;((i + i0 % j) % j ≠ 0 ⊃ (i + i0) % j - j;0)))) ) A User Theorem
modmod-add-if30 < j ⊦ (i + i0 % j) % j = (0 ≤ i + i0 % j ∧ i + i0 < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ (i + i0 % j) % j ≠ 0 ⊃ (i + i0) % j + j ;(i + i0 % j < 0 ∧ 0 ≤ i + i0 ∧ i < 0 ∧ 0 ≤ i0 ∧ (i + i0 % j) % j ≠ 0 ⊃ (i + i0) % j - j;(i + i0) % j) ) A User Theorem
modmod-add-law0 ≠ j ⊦ (i % j + i0 % j) % j = (i + i0) % j ∨ (i % j + i0 % j) % j = (i + i0) % j + j ∨ (i % j + i0 % j) % j = (i + i0) % j - j A User Theorem
modmod-add-law-pos0 < j ⊦ (i % j + i0 % j) % j = (i + i0) % j ∨ (i % j + i0 % j) % j = (i + i0) % j + j ∨ (i % j + i0 % j) % j = (i + i0) % j - j A User Theorem
modmod-add-zero0 < j ⊦ (i + i0 % j) % j = 0 → (i + i0) % j = 0 A User Theorem
modmod-add2-negpos-neg ⊦ i + i0 < 0 ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add2-negpos-pos ⊦ 0 ≤ i + i0 % j ∧ i < 0 ∧ 0 ≤ i0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add2-negpos-pos-01 ⊦ i + i0 % j < 0 ∧ 0 ≤ i + i0 ∧ i < 0 ∧ 0 ≤ i0 ∧ (i + i0 % j) % j ≠ 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j - j A User Theorem
modmod-add2-negpos-pos-02 ⊦ i + i0 % j < 0 ∧ 0 ≤ i + i0 ∧ i < 0 ∧ 0 ≤ i0 ∧ (i + i0 % j) % j = 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add2-posneg-neg ⊦ i + i0 % j < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add2-posneg-neg-01 ⊦ 0 ≤ i + i0 % j ∧ i + i0 < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ (i + i0 % j) % j ≠ 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j + j A User Theorem
modmod-add2-posneg-neg-02 ⊦ 0 ≤ i + i0 % j ∧ i + i0 < 0 ∧ 0 ≤ i ∧ i0 < 0 ∧ (i + i0 % j) % j = 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-add2-posneg-pos ⊦ 0 ≤ i + i0 ∧ 0 ≤ i ∧ i0 < 0 ∧ 0 < j → (i + i0 % j) % j = (i + i0) % j A User Theorem
modmod-law-mult0 ≠ j ⊦ (i * i0) % j = (i % j * i0 % j) % j A User Theorem
modmod-ma0 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ j0 → (i % j * i0 % j + j0) % j = (i * i0 + j0) % j A User Theorem
modmod-ma-010 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ j0 → (i % j * i0 + j0) % j = (i * i0 + j0) % j A User Theorem
modmod-ma-negpos-neg ⊦ j0 + i0 * i < 0 ∧ j0 < 0 ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (j0 + i0 * i % j) % j = (j0 + i0 * i) % j A User Theorem
modmod-mult0 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j * i0 % j) % j = (i * i0) % j A User Theorem
modmod-mult-010 ≠ j ⊦ (i % j * i0 % j) % j = (i * i0) % j A User Theorem
modmod-mult-020 < j ⊦ (i % j * i0 % j) % j = (i * i0) % j A User Theorem
modmod-mult-03j ≠ 0 ⊦ 0 < j0 → (i % (j * j0)) % j = i % j A User Theorem
modmod-mult-04 ⊦ 0 < j ∧ 0 ≤ i ∧ 0 < j0 → (i % (j * j0)) % j = i % j A User Theorem
modmod-mult-05 ⊦ j ≠ 0 ∧ j0 ≠ 0 → (i % (j * j0)) % j = i % j A User Theorem
modmod-mult-060 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ j0 → (i % j * i0) % j = (i * i0) % j A User Theorem
modmod-mult-070 < j ⊦ (i % j * i0) % j = (i * i0) % j A User Theorem
modmod-mult-080 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j * i0) % j = (i * i0) % j A User Theorem
modmod-mult-09j ≠ 0 ⊦ (i % j * i0) % j = (i * i0) % j A User Theorem
modmod-pos ⊦ 0 ≤ i ∧ 0 < j ∧ 0 < j0 → i % (j * j0) = i % j + (i / j) % j0 * j A User Theorem
modnum-negj ≠ 0 ⊦ i < 0 → (* i) % j = ~(~ i % j) A User Theorem
modnum-neg-01 ⊦ j < 0 → i % (* j) = i % ~ j A User Theorem
mult ⊦ 0 ≤ i0 ∧ i0 < j ∧ 0 ≤ i → (i * j + i0) / j = i A User Theorem
mult-01 ⊦ 0 ≤ i0 ∧ i0 < abs(j) ∧ j < 0 ∧ 0 ≤ i → (i * abs(j) + i0) / j = ~ i A User Theorem
mult-02 ⊦ 0 ≤ i0 ∧ i0 < j ∧ 0 ≤ i ∧ 0 < j0 → (i * j + i0) / (j0 * j) = i / j0 A User Theorem
mult-03 ⊦ 0 < i0 ∧ i0 < j ∧ 0 < i ∧ 0 < j0 → (i * j - i0) / (j0 * j) = (i - 1) / j0 A User Theorem
mult-04 ⊦ 0 < i0 ∧ i0 < j ∧ 0 < i ∧ 0 < j0 → (j * i - i0) / (j * j0) = (i - 1) / j0 A User Theorem
mult-05 ⊦ 0 < i0 ∧ i0 < j ∧ 0 < i → (j * i - i0) / j = i - 1 A User Theorem
mult-div-switch ⊦ j ≠ 0 ∧ i % j = 0 → i / j * j = i A User Theorem
mult-ls ⊦ 0 < j ∧ i / j < i0 → i < i0 * j A User Theorem
mult-ls-01 ⊦ 0 < j ∧ i0 < i / j → i0 * j < i A User Theorem
mult-split-mod ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → i / j * i0 + (i0 * i % j) / j = (i0 * i) / j A User Theorem
mult-split-mod-02 ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ i1 ∧ 0 < j → (i + i0 * i1 / j) + (i0 * i1 % j) / j = i + (i0 * i1) / j A User Theorem
negj ≠ 0 ⊦ i / ~ j = ~(i / j) A User Theorem
neg-01j ≠ 0 ⊦ ~ i / j = ~(i / j) A User Theorem
neqf ⊦ i / j ≠ i / i0 → j ≠ i0 A User Theorem
nls-mult-div ⊦ 0 ≤ i ∧ 0 < j ∧ i1 < j → ¬ i < (i * i1) / j A User Theorem
num-ls ⊦ 0 < j ∧ 0 ≤ i → (i / (* j) < j0 ↔ i < j * j0) A User Theorem
num-negj ≠ 0 ⊦ i < 0 → (* i) / j = ~(~ i / j) A User Theorem
num-neg-01 ⊦ j < 0 → i / (* j) = ~(i / ~ j) A User Theorem
nummult-eq ⊦ j ≠ 0 → ((* i) * i0 = (* j) ↔ j % i = 0 ∧ i0 = j / i ∧ i ≠ 0) A User Theorem
nummult-eq-01j ≠ 0, j0 % j = 0 ⊦ i * (* j) = i0 * (* j0) ↔ i = i0 * j0 / j A User Theorem
nummult-le ⊦ 0 < i ∧ 0 ≤ j → ((* i) * i0 ≤ (* j) ↔ i0 ≤ j / i) A User Theorem
nummult-le-01 ⊦ 0 < i ∧ j < 0 → ((* i) * i0 ≤ (* j) ↔ i0 ≤ (j + 1 - i) / i) A User Theorem
nummult-le-01-010 < i, j < 0 ⊦ (* i) * i0 ≤ (* j) ↔ i0 ≤ (j + 1 - i) / i A User Theorem
nummult-le-02 ⊦ 0 < i ∧ 0 ≤ j → ((* j) ≤ (* i) * i0 ↔ (i + j - 1) / i ≤ i0) A User Theorem
nummult-le-02-010 < i, 0 ≤ j ⊦ (* j) ≤ (* i) * i0 ↔ (i + j - 1) / i ≤ i0 A User Theorem
nummult-le-03 ⊦ 0 < i ∧ j < 0 → ((* j) ≤ (* i) * i0 ↔ j / i ≤ i0) A User Theorem
nummult-le-03-010 < i, j < 0 ⊦ (* j) ≤ (* i) * i0 ↔ j / i ≤ i0 A User Theorem
nummult-le-040 < i, 0 ≤ j ⊦ (* i) * i0 ≤ (* j) ↔ i0 ≤ j / i A User Theorem
nummult-ls ⊦ 0 < i ∧ 0 ≤ j → ((* i) * i0 < (* j) ↔ i0 < (i + j - 1) / i) A User Theorem
nummult-ls-01 ⊦ 0 < i ∧ j < 0 → ((* i) * i0 < (* j) ↔ i0 < j / i) A User Theorem
nummult-ls-01-010 < i, j < 0 ⊦ (* i) * i0 < (* j) ↔ i0 < j / i A User Theorem
nummult-ls-02 ⊦ 0 < i ∧ 0 ≤ j → ((* j) < (* i) * i0 ↔ j / i < i0) A User Theorem
nummult-ls-02-010 < i, 0 ≤ j ⊦ (* j) < (* i) * i0 ↔ j / i < i0 A User Theorem
nummult-ls-03 ⊦ 0 < i ∧ j < 0 → ((* j) < (* i) * i0 ↔ (j + 1 - i) / i < i0) A User Theorem
nummult-ls-03-010 < i, j < 0 ⊦ (* j) < (* i) * i0 ↔ (j + 1 - i) / i < i0 A User Theorem
nummult-ls-040 < i, 0 ≤ j ⊦ (* i) * i0 < (* j) ↔ i0 < (i + j - 1) / i A User Theorem
nummult-modle0 < i, i < j, j % i = 0 ⊦ (* i) * i0 ≤ (* j) * j0 ↔ i0 ≤ j / i * j0 A User Theorem
nummult-modle-010 < j, j < i, i % j = 0 ⊦ (* i) * i0 ≤ (* j) * j0 ↔ i / j * i0 ≤ j0 A User Theorem
nummult-modls0 < i, i < j, j % i = 0 ⊦ (* i) * i0 < (* j) * j0 ↔ i0 < j / i * j0 A User Theorem
nummult-modls-010 < j, j < i, i % j = 0 ⊦ (* i) * i0 < (* j) * j0 ↔ i / j * i0 < j0 A User Theorem
one ⊦ i / 1 = i A User Theorem
one-01 ⊦ i = 1 → j % i = 0 A User Theorem
one-02j ≠ 0 ⊦ 1 / j = 1 ↔ j = 1 A User Theorem
one-03 ⊦ 1 < j → 1 % j = 1 A User Theorem
one-04 ⊦ 1 < j → 1 / j = 0 A User Theorem
one-05 ⊦ 1 < j → ~1 % j = ~1 A User Theorem
one-06 ⊦ 1 < j → ~1 % 1 = 0 A User Theorem
one-lez ⊦ 1 / i ≤ 0 ∧ 0 < i → 1 / i = 0 ∧ 1 < i A User Theorem
one-negj ≠ 0 ⊦ 1 / j < 0 ↔ j = ~1 A User Theorem
one-posj ≠ 0 ⊦ 0 < 1 / j ↔ j = 1 A User Theorem
pdiv-lsi / j < j0, i0 ≤ i, 0 < j ⊦ i0 / j < j0 A User Theorem
pos ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i / j A User Theorem
prod-div-less ⊦ 0 < i ∧ i < j ∧ 0 < i1 ∧ i1 < j → (i * i1) / j < i A User Theorem
prod-div-less-01 ⊦ 0 < i ∧ i < j ∧ 0 < i1 ∧ i1 < j → (i * i1) / j < i1 A User Theorem
quad-div-less ⊦ 0 < i ∧ i < j → (i * i) / j < i A User Theorem
square-even ⊦ 0 ≤ i → (i * (i + 1)) % 2 = 0 A User Theorem
square-even-01 ⊦ (i * (i + 1)) % 2 = 0 A User Theorem
square-even-02 ⊦ ((i + 1) * (i + 2)) % 2 = 0 A User Theorem
square-inject ⊦ 0 ≤ i ∧ 0 ≤ j ∧ 0 ≤ i0 ∧ 0 ≤ j0 → (((i + j) * (i + j + 1)) / 2 + j = ((i0 + j0) * (i0 + j0 + 1)) / 2 + j0 ↔ i = i0 ∧ j = j0) A User Theorem
square-interval(i * (i + 1)) / 2 ≤ (j * (j + 1)) / 2 + j0, (j * (j + 1)) / 2 + j0 < ((i + 1) * (i + 2)) / 2, j0 ≤ j, 0 ≤ i, 0 ≤ j0 ⊦ i = j A User Theorem
square-ls ⊦ 0 ≤ i ∧ 0 ≤ j → ((i * (i + 1)) / 2 < (j * (j + 1)) / 2 ↔ i < j) A User Theorem
square-ls-01 ⊦ 0 ≤ i ∧ 0 ≤ j → ((i * (i + 1)) / 2 < ((j + 1) * (j + 2)) / 2 ↔ i < j + 1) A User Theorem
square-ls-02 ⊦ 0 ≤ i ∧ 0 ≤ j → (((i + 1) * (i + 2)) / 2 < ((j + 1) * (j + 2)) / 2 ↔ i < j) A User Theorem
square-nle ⊦ 0 ≤ j → ((j * (j + 1)) / 2 ≤ j ↔ j < 2) A User Theorem
square-nle-01 ⊦ 0 ≤ j → ¬ ((j + 1) * (j + 2)) / 2 ≤ j A User Theorem
square-nle-02 ⊦ 0 ≤ j ∧ i ≤ 0 → ¬ ((j + 1) * (j + 2)) / 2 ≤ i + j A User Theorem
square-nls ⊦ 0 ≤ j → ¬ (j * (j + 1)) / 2 < j A User Theorem
square-nls-01 ⊦ 0 ≤ j ∧ i < 0 → ¬ (j * (j + 1)) / 2 < i + j A User Theorem
square-nls-02 ⊦ 0 ≤ j ∧ i ≤ 0 → ¬ (j * (j + 1)) / 2 < i + j A User Theorem
sub-ls ⊦ 0 < i0 ∧ i < j → (i - j) / i0 ≤ 0 A User Theorem
sub-ls-01 ⊦ 0 < i0 ∧ j ≤ i → 0 ≤ (i - j) / i0 A User Theorem
three ⊦ (1 + 1 + 1) / 2 = 1 A User Theorem
two-add-square ⊦ 0 ≤ i → ((i * (i - 1)) / 2 + i = (i * (i + 1)) / 2 ↔ true) A User Theorem
two-add-square-01 ⊦ 0 < i → ((i * (i - 1)) / 2 + i = (i * (i + 1)) / 2 ↔ true) A User Theorem
two-even ⊦ i % 2 = 0 → (i / 2 = j ↔ i = 2 * j) A User Theorem
two-mult ⊦ 0 < i ∧ 0 < j0 → (2 * i - 1) / (2 * j0) = (i - 1) / j0 A User Theorem
two-mult-01 ⊦ 0 < i → (2 * i - 1) / 2 = i - 1 A User Theorem
two-odd ⊦ i % 2 = 0 ∧ 0 < i → (i - 1) / 2 = i / 2 - 1 A User Theorem
zeroj ≠ 0 ⊦ 0 / j = 0 A User Theorem
zero-01 ⊦ 0 < j ∧ i < 0 → i / j ≤ 0 A User Theorem
zero-02 ⊦ 0 < i ∧ j < 0 → i / j ≤ 0 A User Theorem
zero-03 ⊦ 0 < i ∧ 0 < j → 0 ≤ i / j A User Theorem
zero-040 < i0, i / i0 + j / i0 < 0 ⊦ i + j < 0 A User Theorem
zero-05j ≠ 0 ⊦ i < 0 → i ≤ i / j A User Theorem
zero-06j ≠ 0 ⊦ i < 0 ∧ j < 0 → 0 ≤ i / j A User Theorem
zero-07j ≠ 0 ⊦ 0 < i → i / j ≤ i A User Theorem