| gcd(i, j) = i * i0 + j * j0, 0 ≤ i0, ∀ i1, i, j, j0. i→n(i1) < i→n(i0) → gcd(i, j) = i * i1 + j * j0 ∧ 0 ≤ i1 → j = 0 ∨ (∃ i0, j0. gcd(i, j) = i * i0 + j * j0 ∧ 0 ≤ i0 ∧ (∀ i1. 0 ≤ i1 ∧ i1 < i0 → ¬(∃ j1. gcd(i, j) = i * i1 + j * j1))) ⊦ j = 0, gcd(i, j) = i * i0 + j * j0 ∧ 0 ≤ i0 ∧ (∀ i1. 0 ≤ i1 ∧ i1 < i0 → ¬(∃ j1. gcd(i, j) = i * i1 + j * j1)), ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 ∧ 0 ≤ i0 ∧ (∀ i1. 0 ≤ i1 ∧ i1 < i0 → ¬(∃ j1. gcd(i, j) = i * i1 + j * j1)) |
gcd(i, j) = i * i0 + j * j0, gcd(i, j) = i * i1 + j * j1, 0 ≤ i0, i1 < i0, 0 ≤ i1, 0 < i0, ∀ i1, i, j, j0. i→n(i1) < i→n(i0) → gcd(i, j) = i * i1 + j * j0 ∧ 0 ≤ i1 → j = 0 ∨ (∃ i0, j0. gcd(i, j) = i * i0 + j * j0 ∧ 0 ≤ i0 ∧ (∀ i1. 0 ≤ i1 ∧ i1 < i0 → ¬(∃ j1. gcd(i, j) = i * i1 + j * j1))) ⊦ j = 0, ∃ i0, j0. gcd(i, j) = i * i0 + j * j0 ∧ 0 ≤ i0 ∧ (∀ i1. 0 ≤ i1 ∧ i1 < i0 → ¬(∃ j1. gcd(i, j) = i * i1 + j * j1))
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%zero-gels-04: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; from specification int-abs