dsimp at *
case mk.cons
α : 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 α✝
bt : IsBinTree { val := val, rank := rank, children := children }
lt : 0 < { val := val, rank := rank, children := children }.rank
h₁ : IsHeapForest' { val := val, rank := rank, children := children }.rank []
⊢ IsHeap children
case mk.cons
α : 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 α✝
bt : IsBinTree { val := val, rank := rank, children := children }
lt : 0 < rank
h₁ : IsHeapForest' rank []
⊢ IsHeap children