Theorem: project.IsMinHeap_of_IsMinTree (Project/DeleteMin.lean)

State before:
α : Type u_1
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
val : α
nodes : List (BinTree α)
⊢ IsMinHeap le (Heap.heap [])
Tactic:
constructor
State after:
no goals

State before:
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsMinHeap le (Heap.heap (t✝ :: ts✝))
Tactic:
constructor
State after:
case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsSearchTree le t✝

case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsMinHeap le (Heap.heap ts✝)

State before:
case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsSearchTree le t✝

case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsMinHeap le (Heap.heap ts✝)
Tactic:
. assumption
State after:
case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsMinHeap le (Heap.heap ts✝)

State before:
case a
α : Type u_1
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
val : α
nodes ts✝ : List (BinTree α)
t✝ : BinTree α
a✝² : le val t✝.val = true
a✝¹ : IsMinTree le val ts✝
a✝ : IsSearchTree le t✝
⊢ IsMinHeap le (Heap.heap ts✝)
Tactic:
. apply IsMinHeap_of_IsMinTree
  . assumption
State after:
no goals