dsimp at *
case mk
α : Sort ?u.30046
le : α → α → Bool
not_le_le : ∀ (x y : α), ¬le x y = true → le y x = true
le_trans : ∀ (x y z : α), le x y = true → le y z = true → le x z = true
le_rfl : ∀ (z : α), le z z = true
α✝ : Type u_1
val : α✝
rank : ℕ
children : Heap α✝
h₁ : IsHeap (Heap.heap [{ val := val, rank := rank, children := children }])
⊢ IsHeap { val := val, rank := rank, children := children }.children
case mk
α : Sort ?u.30046
le : α → α → Bool
not_le_le : ∀ (x y : α), ¬le x y = true → le y x = true
le_trans : ∀ (x y z : α), le x y = true → le y z = true → le x z = true
le_rfl : ∀ (z : α), le z z = true
α✝ : Type u_1
val : α✝
rank : ℕ
children : Heap α✝
h₁ : IsHeap (Heap.heap [{ val := val, rank := rank, children := children }])
⊢ IsHeap children