| true ∧ ¬ bitsand(int2bits(i / 2), int2bits(j / 2)).first ∧ bitsand(int2bits(i / 2), int2bits(j / 2)) ≠ [], i % 2 = 1, j % 2 = 1, 0 < i, 1 < i, 0 ≤ i, i < bits2int(bitsand(int2bits(i / 2), int2bits(j / 2))) * 2 + 1, 1 < j, 0 < j, 1 < bits2int(bitsand(int2bits(i / 2), int2bits(j / 2))) * 2 + 1, 0 < bits2int(bitsand(int2bits(i / 2), int2bits(j / 2))) * 2 + 1, ∀ i0, j. i→n(i0) < i→n(i) → i0 < bits2int(bitsand(int2bits(i0), int2bits(j))) ∧ 0 ≤ i0 → false ⊦ |
j % 2 = 1, i % 2 = 1, 0 < j, 1 < j, i ≤ bits2int(bitsand(int2bits(i / 2), int2bits(j / 2))) * 2, 0 ≤ i, 1 < i, 0 < i, 0 < bits2int(bitsand(int2bits(i / 2), int2bits(j / 2))), ∀ i0, j. i→n(i0) < i→n(i) → i0 < bits2int(bitsand(int2bits(i0), int2bits(j))) ∧ 0 ≤ i0 → false ⊦ bitsand(int2bits(i / 2), int2bits(j / 2)).first
Used simplifier rules: and-notempty-09: ⊦ bitsand(int2bits(i), int2bits(i0)) ≠ [];% ⊦ 0 < i ∧ 0 ≤ j → ((* j) < (* i) * i0 ↔ j / i < i0);% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ 0 < i → (0 ≤ i * j ↔ 0 ≤ j);% ⊦ ~1 < i ↔ 0 ≤ i;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 0 < i → (0 < i * j ↔ 0 < j);% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i < j + 1 ↔ i ≤ j;