have h₇ := bisim.lemma0 y n
case MStep.MStep
C : Container
R : M C → M C → Prop
h₀ :
  ∀ (x y : M C),
    R x y →
      ∃ node k₁ k₂,
        destruct x = { fst := node, snd := k₁ } ∧
          destruct y = { fst := node, snd := k₂ } ∧ ∀ (i : B C node), R (k₁ i) (k₂ i)
n : Nat
h : ∀ (x y : M C), R x y → approx x n = approx y n
x y : M C
h₁ : R x y
h₂✝¹ : Approx.node (approx x (Nat.succ n)) = Container.M.node x
h₃✝¹ : Approx.node (approx y (Nat.succ n)) = Container.M.node y
nodex : C.A
cx : B C nodex → Approx C n
h₄ : approx x (Nat.succ n) = Approx.MStep nodex cx
nodey : C.A
cy : B C nodey → Approx C n
h₅ : approx y (Nat.succ n) = Approx.MStep nodey cy
node : C.A
k₁ k₂ : B C node → M C
eq₁ : destruct x = { fst := node, snd := k₁ }
eq₂ : destruct y = { fst := node, snd := k₂ }
kR : ∀ (i : B C node), R (k₁ i) (k₂ i)
h₂✝ : nodex = node
h₃✝ : nodey = node
h₂ : node = nodex
h₃ : node = nodey
h₆ :
  ∀ (i : B C (Approx.node (approx x (Nat.succ n)))) (j : B C (destruct x).fst),
    HEq i j → Approx.children (approx x (Nat.succ n)) i = approx (PSigma.snd (destruct x) j) n
⊢ Approx.MStep nodex cx = Approx.MStep nodey cy
case MStep.MStep
C : Container
R : M C → M C → Prop
h₀ :
  ∀ (x y : M C),
    R x y →
      ∃ node k₁ k₂,
        destruct x = { fst := node, snd := k₁ } ∧
          destruct y = { fst := node, snd := k₂ } ∧ ∀ (i : B C node), R (k₁ i) (k₂ i)
n : Nat
h : ∀ (x y : M C), R x y → approx x n = approx y n
x y : M C
h₁ : R x y
h₂✝¹ : Approx.node (approx x (Nat.succ n)) = Container.M.node x
h₃✝¹ : Approx.node (approx y (Nat.succ n)) = Container.M.node y
nodex : C.A
cx : B C nodex → Approx C n
h₄ : approx x (Nat.succ n) = Approx.MStep nodex cx
nodey : C.A
cy : B C nodey → Approx C n
h₅ : approx y (Nat.succ n) = Approx.MStep nodey cy
node : C.A
k₁ k₂ : B C node → M C
eq₁ : destruct x = { fst := node, snd := k₁ }
eq₂ : destruct y = { fst := node, snd := k₂ }
kR : ∀ (i : B C node), R (k₁ i) (k₂ i)
h₂✝ : nodex = node
h₃✝ : nodey = node
h₂ : node = nodex
h₃ : node = nodey
h₆ :
  ∀ (i : B C (Approx.node (approx x (Nat.succ n)))) (j : B C (destruct x).fst),
    HEq i j → Approx.children (approx x (Nat.succ n)) i = approx (PSigma.snd (destruct x) j) n
h₇ :
  ∀ (i : B C (Approx.node (approx y (Nat.succ n)))) (j : B C (destruct y).fst),
    HEq i j → Approx.children (approx y (Nat.succ n)) i = approx (PSigma.snd (destruct y) j) n
⊢ Approx.MStep nodex cx = Approx.MStep nodey cy