Theorem: SetTheory.interpret_memInverse' (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 r : α ⊕ Fin n
⊢ Interpret V (BoundedFormula.memInverse x r) v l ↔
    ∃ y z, interpretTerm V v l x = opair y z ∧ opair z y ∈ interpretTerm V v l r
Tactic:
unfold BoundedFormula.memInverse
State after:
V : Type u_1
inst✝ : Zermelo V
r✝ x✝ y z : V
α : Type
n : Nat
v : α → V
l : Fin n → V
x r : α ⊕ Fin n
⊢ Interpret V
      (BoundedFormula.exists
        (BoundedFormula.exists
          (BoundedFormula.exists
            (BoundedFormula.and
              (BoundedFormula.and
                (BoundedFormula.eqOPair (termSucc (termSucc (termSucc x)))
                  (Sum.inr { val := n, isLt := (_ : n < n + (2 + 1)) })
                  (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (1 + 1)) }))
                (BoundedFormula.eqOPair (Sum.inr { val := n + 2, isLt := (_ : n + 2 < n + 2 + (0 + 1)) })
                  (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (1 + 1)) })
                  (Sum.inr { val := n, isLt := (_ : n < n + (2 + 1)) })))
              (BoundedFormula.mem (Sum.inr { val := n + 2, isLt := (_ : n + 2 < n + 2 + (0 + 1)) })
                (termSucc (termSucc (termSucc r))))))))
      v l ↔
    ∃ y z, interpretTerm V v l x = opair y z ∧ opair z y ∈ 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 r : α ⊕ Fin n
⊢ Interpret V
      (BoundedFormula.exists
        (BoundedFormula.exists
          (BoundedFormula.exists
            (BoundedFormula.and
              (BoundedFormula.and
                (BoundedFormula.eqOPair (termSucc (termSucc (termSucc x)))
                  (Sum.inr { val := n, isLt := (_ : n < n + (2 + 1)) })
                  (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (1 + 1)) }))
                (BoundedFormula.eqOPair (Sum.inr { val := n + 2, isLt := (_ : n + 2 < n + 2 + (0 + 1)) })
                  (Sum.inr { val := n + 1, isLt := (_ : n + 1 < n + 1 + (1 + 1)) })
                  (Sum.inr { val := n, isLt := (_ : n < n + (2 + 1)) })))
              (BoundedFormula.mem (Sum.inr { val := n + 2, isLt := (_ : n + 2 < n + 2 + (0 + 1)) })
                (termSucc (termSucc (termSucc r))))))))
      v l ↔
    ∃ y z, interpretTerm V v l x = opair y z ∧ opair z y ∈ interpretTerm V v l r
Tactic:
aesop
State after:
no goals