minus x 0 x minus s x s y minus x y quot 0 s y 0 quot s x s y s quot minus x y s y le 0 y true le s x 0 false le s x s y le x y app nil y y app add n x y add n app x y low n nil nil low n add m x if_low le m n n add m x if_low true n add m x add m low n x if_low false n add m x low n x high n nil nil high n add m x if_high le m n n add m x if_high true n add m x high n x if_high false n add m x add m high n x quicksort nil nil quicksort add n x app quicksort low n x add n quicksort high n x 2.2 if_low false n add m x low n x if_low true n add m x low n x quicksort add n x high n x quicksort add n x app quicksort low n x add n quicksort high n x quicksort add n x low n x quicksort add n x quicksort high n x if_high true n add m x high n x le s x s y le x y quicksort add n x quicksort low n x low n add m x le m n quot s x s y quot minus x y s y high n add m x le m n app add n x y app x y minus s x s y minus x y if_high false n add m x high n x high n add m x if_high le m n n add m x low n add m x if_low le m n n add m x quot s x s y minus x y true quot s x s y quot minus x y s y true le 2 0 s 1 1 2 le 2 0 minus 2 1 1 if_high 3 0 quicksort 1 0 high 2 0 false 0 0 if_high 3 0 quicksort 1 0 true 0 0 0 0 1 quot 2 0 high 2 0 nil 0 0 app 2 0 minus 2 0 low 2 0 add 2 0 quot 2 1 0 if_low 3 0 if_low 3 0 low 2 0 app 2 0 minus x 0 x minus s x s y minus x y quot s x s y minus x y false minus s x s y minus x y true le 2 0 s 1 1 2 le 2 0 minus 2 1 1 if_high 3 0 quicksort 1 0 high 2 0 false 0 0 if_high 3 0 quicksort 1 0 true 0 0 0 0 1 quot 2 0 high 2 0 nil 0 0 app 2 0 minus 2 1 2 0 low 2 0 add 2 0 quot 2 1 0 if_low 3 0 if_low 3 0 low 2 0 app 2 0 minus x 0 x minus s x s y minus x y quicksort add n x quicksort high n x quicksort add n x quicksort low n x true le 2 1 2 1 s 1 2 le 2 0 minus 2 1 1 if_high 3 2 3 38551 quicksort 1 1 0 high 2 0 false 0 5 if_high 3 0 quicksort 1 0 true 0 3 0 0 1 quot 2 0 high 2 1 2 38551 nil 0 31755 app 2 0 minus 2 0 low 2 1 2 282 add 2 1 2 38552 quot 2 0 if_low 3 2 3 282 if_low 3 0 low 2 0 app 2 0 high n add m x if_high le m n n add m x minus x 0 x if_high true n add m x high n x if_high false n add m x add m high n x low n nil nil high n nil nil if_low true n add m x add m low n x low n add m x if_low le m n n add m x if_low false n add m x low n x quicksort add n x app quicksort low n x add n quicksort high n x false app add n x y app x y true le 2 1 2 1 s 1 2 le 2 0 minus 2 1 1 if_high 3 2 3 38551 quicksort 1 1 0 high 2 0 false 0 5 if_high 3 0 quicksort 1 0 true 0 3 0 0 1 quot 2 0 high 2 1 2 38551 nil 0 53547 app 2 1 0 minus 2 0 low 2 1 2 1 add 2 1 2 38552 quot 2 0 if_low 3 2 3 1 if_low 3 0 low 2 0 app 2 0 high n add m x if_high le m n n add m x minus x 0 x if_high true n add m x high n x if_high false n add m x add m high n x low n nil nil high n nil nil if_low true n add m x add m low n x low n add m x if_low le m n n add m x if_low false n add m x low n x quicksort add n x low n x false quicksort add n x high n x false if_high true n add m x high n x high n add m x if_high le m n n add m x if_high false n add m x high n x true le 2 1324 s 1 0 le 2 0 minus 2 1 1 if_high 3 2 3 38607 quicksort 1 1 0 high 2 1 2 1325 false 0 1324 if_high 3 1 2 3 0 quicksort 1 0 true 0 1324 0 0 0 quot 2 0 high 2 1 2 38607 nil 0 1 app 2 0 minus 2 0 low 2 1 2 34519 add 2 2 2 quot 2 0 if_low 3 2 3 34519 if_low 3 0 low 2 0 app 2 0 high n add m x if_high le m n n add m x minus x 0 x if_high true n add m x high n x if_high false n add m x add m high n x le 0 y true low n nil nil le s x s y le x y high n nil nil if_low true n add m x add m low n x low n add m x if_low le m n n add m x if_low false n add m x low n x le s x 0 false high n add m x le m n false low n add m x if_low le m n n add m x if_low true n add m x low n x if_low false n add m x low n x true le 2 23612 s 1 0 le 2 0 minus 2 1 1 if_high 3 2 3 25074 quicksort 1 1 0 high 2 1325 false 0 23612 if_high 3 1 0 quicksort 1 0 true 0 23612 0 0 0 quot 2 0 high 2 1 2 25074 nil 0 1 app 2 0 minus 2 0 low 2 1 2 1 add 2 2 2 quot 2 0 if_low 3 2 3 1 if_low 3 1 2 3 0 low 2 1 2 23613 app 2 0 high n add m x if_high le m n n add m x minus x 0 x if_high true n add m x high n x if_high false n add m x add m high n x le 0 y true low n nil nil le s x s y le x y high n nil nil if_low true n add m x add m low n x low n add m x if_low le m n n add m x if_low false n add m x low n x le s x 0 false low n add m x le m n false le s x s y le x y true le 2 23612 s 1 1 1 le 2 2 0 minus 2 1 1 if_high 3 2 3 40436 quicksort 1 1 0 high 2 1325 false 0 1 if_high 3 1 0 quicksort 1 0 true 0 23612 0 0 0 quot 2 0 high 2 1 2 40436 nil 0 48999 app 2 0 minus 2 0 low 2 1 2 1 add 2 2 52182 quot 2 0 if_low 3 2 3 1 if_low 3 1 0 low 2 23613 app 2 0 high n add m x if_high le m n n add m x minus x 0 x if_high true n add m x high n x if_high false n add m x add m high n x le 0 y true low n nil nil le s x s y le x y high n nil nil if_low true n add m x add m low n x low n add m x if_low le m n n add m x if_low false n add m x low n x le s x 0 false NaTT certifiable-1.6