Theorem: SetTheory.interpret_memImage' (SetTheory/Relation.lean)

State before:
V : Type u_1
inst✝ : Zermelo V
r✝ x✝ y✝ z : V
α : Type
n : Nat
v : α → V
l : Fin n → V
x y r : α ⊕ Fin n
⊢ Interpret V (BoundedFormula.memImage x y r) v l ↔
    ∃ z, z ∈ interpretTerm V v l y ∧ opair z (interpretTerm V v l x) ∈ interpretTerm V v l r
Tactic:
unfold BoundedFormula.memImage
State after:
V : Type u_1
inst✝ : Zermelo V
r✝ x✝ y✝ z : V
α : Type
n : Nat
v : α → V
l : Fin n → V
x y r : α ⊕ Fin n
⊢ Interpret V
      (BoundedFormula.exists
        (BoundedFormula.exists
          (BoundedFormula.and
            (BoundedFormula.and
              (BoundedFormula.mem (Sum.inr { val := n, isLt := (_ : n < n + (1 + 1)) }) (termSucc (termSucc y)))
              (BoundedFormula.eqOPair (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (0 + 1)) })
                (Sum.inr { val := n, isLt := (_ : n < n + (1 + 1)) }) (termSucc (termSucc x))))
            (BoundedFormula.mem (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (0 + 1)) })
              (termSucc (termSucc r))))))
      v l ↔
    ∃ z, z ∈ interpretTerm V v l y ∧ opair z (interpretTerm V v l x) ∈ interpretTerm V v l r

State before:
V : Type u_1
inst✝ : Zermelo V
r✝ x✝ y✝ z : V
α : Type
n : Nat
v : α → V
l : Fin n → V
x y r : α ⊕ Fin n
⊢ Interpret V
      (BoundedFormula.exists
        (BoundedFormula.exists
          (BoundedFormula.and
            (BoundedFormula.and
              (BoundedFormula.mem (Sum.inr { val := n, isLt := (_ : n < n + (1 + 1)) }) (termSucc (termSucc y)))
              (BoundedFormula.eqOPair (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (0 + 1)) })
                (Sum.inr { val := n, isLt := (_ : n < n + (1 + 1)) }) (termSucc (termSucc x))))
            (BoundedFormula.mem (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (0 + 1)) })
              (termSucc (termSucc r))))))
      v l ↔
    ∃ z, z ∈ interpretTerm V v l y ∧ opair z (interpretTerm V v l x) ∈ interpretTerm V v l r
Tactic:
aesop
State after:
no goals