@@ -5,6 +5,7 @@
6module Data.Heap
6module Data.Heap
8%access public
9%access public
10abstract data MaxiphobicHeap : Type -> Type where
11abstract data MaxiphobicHeap : Type -> Type where
@@ -82,12 +83,12 @@ insert e = merge $ singleton e
82--------------------------------------------------------------------------------
83--------------------------------------------------------------------------------
84findMinimum : (h : MaxiphobicHeap a) -> (isEmpty h = False) -> a
85findMinimum : (h : MaxiphobicHeap a) -> (isEmpty h = False) -> a
85−findMinimum Empty p = ?findMinimumEmptyAbsurd
86+findMinimum Empty refl impossible
86−findMinimum (Node s l e r) p = e
87+findMinimum (Node s l e r) p = e
88deleteMinimum : Ord a => (h : MaxiphobicHeap a) -> (isEmpty h = False) -> MaxiphobicHeap a
89deleteMinimum : Ord a => (h : MaxiphobicHeap a) -> (isEmpty h = False) -> MaxiphobicHeap a
89−deleteMinimum Empty p = ?deleteMinimumEmptyAbsurd
90+deleteMinimum Empty refl impossible
90−deleteMinimum (Node s l e r) p = merge l r
91+deleteMinimum (Node s l e r) p = merge l r
92--------------------------------------------------------------------------------
93--------------------------------------------------------------------------------
93-- Conversions to and from lists (and a derived heap sorting algorithm)
94-- Conversions to and from lists (and a derived heap sorting algorithm)
@@ -173,22 +174,6 @@ isEmptySizeZeroNodeAbsurd = proof {
176−findMinimumEmptyAbsurd = proof {
179− refine absurdBoolDischarge;
184−deleteMinimumEmptyAbsurd = proof {
187− refine absurdBoolDischarge;
192--------------------------------------------------------------------------------
177--------------------------------------------------------------------------------
194--------------------------------------------------------------------------------
179--------------------------------------------------------------------------------