Theorem: LO.FirstOrder.Arith.Model.LenBit.sub_self_of_lenbit (Arithmetization/ISigmaZero/Exponential/Pow2.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
⊢ ¬LenBit i (a - i)
Tactic:
intro h'
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
h' : LenBit i (a - i)
⊢ False

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
h' : LenBit i (a - i)
⊢ False
Tactic:
have : ¬LenBit i a := by simpa [sub_add_self_of_le h.le] using LenBit.add_self_of_lenbit pos h'
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
h' : LenBit i (a - i)
this : ¬LenBit i a
⊢ False

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
h' : LenBit i (a - i)
this : ¬LenBit i a
⊢ False
Tactic:
contradiction
State after:
no goals

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a i : M
pos : 0 < i
h : LenBit i a
h' : LenBit i (a - i)
⊢ ¬LenBit i a
Tactic:
simpa [sub_add_self_of_le h.le] using LenBit.add_self_of_lenbit pos h'
State after:
no goals