Theorem: LO.FirstOrder.Arith.Model.insert_graph (Arithmetization/ISigmaOne/Bit.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
b i a : M
⊢ b = insert i a → i ∈ a ∧ b = a ∨ i ∉ a ∧ ∃ e ≤ b, e = exp i ∧ b = a + e
Tactic:
rintro rfl
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
i a : M
⊢ i ∈ a ∧ insert i a = a ∨ i ∉ a ∧ ∃ e ≤ insert i a, e = exp i ∧ insert i a = a + e

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
i a : M
⊢ i ∈ a ∧ insert i a = a ∨ i ∉ a ∧ ∃ e ≤ insert i a, e = exp i ∧ insert i a = a + e
Tactic:
by_cases hi : i ∈ a <;> simp [hi, insert, bitInsert]
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 ⊧ₘ* 𝐈𝚺₁
b i a : M
⊢ (i ∈ a ∧ b = a ∨ i ∉ a ∧ ∃ e ≤ b, e = exp i ∧ b = a + e) → b = insert i a
Tactic:
by_cases hi : i ∈ a <;> simp only [hi, true_and, not_true_eq_false, false_and,
  or_false, insert, bitInsert, ↓reduceIte, imp_self,
  not_false_eq_true, true_and, false_or, forall_exists_index, and_imp]
State after:
case neg
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
b i a : M
hi : i ∉ a
⊢ ∀ x ≤ b, x = exp i → b = a + x → b = a + exp i

State before:
case neg
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
b i a : M
hi : i ∉ a
⊢ ∀ x ≤ b, x = exp i → b = a + x → b = a + exp i
Tactic:
rintro x _ rfl rfl
State after:
case neg
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
i a : M
hi : i ∉ a
a✝ : exp i ≤ a + exp i
⊢ a + exp i = a + exp i

State before:
case neg
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
i a : M
hi : i ∉ a
a✝ : exp i ≤ a + exp i
⊢ a + exp i = a + exp i
Tactic:
rfl
State after:
no goals