[Added :test inputs for most tests.
tobias@goedderz.info**20150211142436
 Ignore-this: f701e3e3dbfc37cde75d07635b029cb3
] hunk ./tests/add.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g add
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise add
+:test add on "add (S (S (S (S Z)))) (S (S (S (S Z))))"
+:quit
hunk ./tests/add.out 61
+Testing 1. hypothesis of: 'add'
+  add (S (S (S (S Z)))) (S (S (S (S Z))))  ==  S (S (S (S (S (S (S (S Z)))))))
+
+Testing 2. hypothesis of: 'add'
+  add (S (S (S (S Z)))) (S (S (S (S Z))))  ==  S (S (S (S (S (S (S (S Z)))))))
+
+Testing 3. hypothesis of: 'add'
+  add (S (S (S (S Z)))) (S (S (S (S Z))))  ==  S (S (S (S (S (S (S (S Z)))))))
+
+Testing 4. hypothesis of: 'add'
+  add (S (S (S (S Z)))) (S (S (S (S Z))))  ==  S (S (S (S (S (S (S (S Z)))))))
+
hunk ./tests/addN.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g addN
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise addN
+:test addN on "addN (S (S (S Z))) [S (S Z), Z, S (S (S Z))]"
+:quit
hunk ./tests/addN.out 38
+Testing 1. hypothesis of: 'addN'
+  addN (S (S (S Z))) [S (S Z), Z, S (S (S Z))]  ==  [S (S (S (S (S Z)))),S (S (S Z)),S (S (S (S (S (S Z)))))]
+
hunk ./tests/anD.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g anD
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise anD
+:quit
hunk ./tests/andL.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g andL
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise andL
+:test andL on "andL [True, True, True, True]"
+:test andL on "andL [True, True, True, False]"
+:quit
hunk ./tests/andL.out 37
+Testing 1. hypothesis of: 'andL'
+  andL [True, True, True, True]  ==  True
+
+Testing 1. hypothesis of: 'andL'
+  andL [True, True, True, False]  ==  False
+
hunk ./tests/appenD.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g appenD
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise appenD
+:test appenD on "appenD [0, 1, 2, 3, 4] [5, 6, 7, 8, 9]"
+:quit
hunk ./tests/appenD.out 36
+Testing 1. hypothesis of: 'appenD'
+  appenD [0, 1, 2, 3, 4] [5, 6, 7, 8, 9]  ==  [0,1,2,3,4,5,6,7,8,9]
+
hunk ./tests/balloons.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g balloons
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise balloons
+:quit
hunk ./tests/enjoySport.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g enjoySport
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise enjoySport
+:quit
hunk ./tests/eq.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g eq
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise eq
+:test eq on "eq (S (S (S (S Z)))) (S (S (S (S Z))))"
+:test eq on "eq (S (S (S (S Z)))) (S (S (S (S (S Z)))))"
+:quit
hunk ./tests/eq.out 49
+Testing 1. hypothesis of: 'eq'
+  eq (S (S (S (S Z)))) (S (S (S (S Z))))  ==  True
+
+Testing 2. hypothesis of: 'eq'
+  eq (S (S (S (S Z)))) (S (S (S (S Z))))  ==  True
+
+Testing 1. hypothesis of: 'eq'
+  eq (S (S (S (S Z)))) (S (S (S (S (S Z)))))  ==  False
+
+Testing 2. hypothesis of: 'eq'
+  eq (S (S (S (S Z)))) (S (S (S (S (S Z)))))  ==  False
+
hunk ./tests/eveN.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g eveN
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise eveN
+:test eveN on "eveN (S (S (S (S (S (S Z))))))"
+:test eveN on "eveN (S (S (S (S (S (S (S Z)))))))"
+:quit
hunk ./tests/eveN.out 37
+Testing 1. hypothesis of: 'eveN'
+  eveN (S (S (S (S (S (S Z))))))  ==  True
+
+Testing 1. hypothesis of: 'eveN'
+  eveN (S (S (S (S (S (S (S Z)))))))  ==  False
+
hunk ./tests/evenpos.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g evenpos
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise evenpos
+:test evenpos on "evenpos [1, 2, 3, 4, 5, 6, 7, 8, 9]"
+:quit
hunk ./tests/evenpos.out 37
+Testing 1. hypothesis of: 'evenpos'
+  evenpos [1, 2, 3, 4, 5, 6, 7, 8, 9]  ==  [2,4,6,8]
+
hunk ./tests/evens.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g evens
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise evens
+-- Non-exhaustive patterns
+-- :test evens on "evens [S (S (S (S Z))), S (S (S (S (S Z)))), S (S (S (S (S (S Z))))), S Z, Z]"
+:quit
hunk ./tests/fib.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g fib
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise fib
+-- Out of memory
+-- :test fib on "fib (S (S (S (S (S (S Z))))))"
+:quit
hunk ./tests/fibAdd.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g fibAdd
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise fibAdd
+-- Non-exhaustive patterns
+-- :test fibAdd on "fibAdd (S (S (S Z))) (S (S (S (S (S Z)))))"
+:quit
hunk ./tests/flatapp.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g flatapp
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise flatapp
+:quit
hunk ./tests/flatten.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g flatten
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise flatten
+-- Non-exhaustive patterns
+-- :test flatten on "flatten (Node 1 (Node 2 (Node 3 (Node 4 NilT NilT) (Node 5 NilT NilT)) (Node 6 (Node 7 NilT NilT) (Node 8 NilT NilT))) (Node 9 (Node 10 (Node 11 NilT NilT) (Node 12 NilT NilT)) (Node 13 (Node 14 NilT NilT) (Node 15 NilT NilT))))"
+:quit
hunk ./tests/hanoi.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g hanoi
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise hanoi
+-- TODO: write a :test
+:quit
hunk ./tests/heaD.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g heaD
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise heaD
+:test heaD on "heaD [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/heaD.out 35
+Testing 1. hypothesis of: 'heaD'
+  heaD [0, 1, 2, 3, 4]  ==  0
+
hunk ./tests/incr.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g incr
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise incr
+:test incr on "incr [S (S Z), Z, S (S (S Z))]"
+:quit
hunk ./tests/incr.out 36
+Testing 1. hypothesis of: 'incr'
+  incr [S (S Z), Z, S (S (S Z))]  ==  [S (S (S Z)),S Z,S (S (S (S Z)))]
+
hunk ./tests/lasT.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lasT
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lasT
+:test lasT on "lasT [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/lasT.out 36
+Testing 1. hypothesis of: 'lasT'
+  lasT [0, 1, 2, 3, 4]  ==  4
+
hunk ./tests/lastM.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lastM
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lastM
+:test lastM on "lastM [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/lastM.out 37
+Testing 1. hypothesis of: 'lastM'
+  lastM [0, 1, 2, 3, 4]  ==  Just 4
+
hunk ./tests/lasts.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lasts
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lasts
+:test lasts on "lasts [[0, 1, 2], [3], [4, 5], [6, 7, 8, 9]]"
+:quit
hunk ./tests/lasts.out 37
+Testing 1. hypothesis of: 'lasts'
+  lasts [[0, 1, 2], [3], [4, 5], [6, 7, 8, 9]]  ==  [2,3,5,9]
+
hunk ./tests/lengtH.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lengtH
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lengtH
+:test lengtH on "lengtH [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/lengtH.out 36
+Testing 1. hypothesis of: 'lengtH'
+  lengtH [0, 1, 2, 3, 4]  ==  S (S (S (S (S Z))))
+
hunk ./tests/lengths.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lengths
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lengths
+:test lengths on "lengths [[0], [1, 2, 3], [4, 5], [6]]"
+:quit
hunk ./tests/lengths.out 38
+Testing 1. hypothesis of: 'lengths'
+  lengths [[0], [1, 2, 3], [4, 5], [6]]  ==  [S Z,S (S (S Z)),S (S Z),S Z]
+
hunk ./tests/lenses.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g lenses
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise lenses
+:quit
hunk ./tests/mem.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g mem
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise mem
+-- Non-exhaustive patterns
+-- :test mem on "mem 4 [1, 2, 3, 4, 5]"
+:quit
hunk ./tests/mirror.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g mirror
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise mirror
+-- TODO: write a :test
+:quit
hunk ./tests/multfst.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g multfst
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise multfst
+:test multfst on "multfst [0, 1, 2, 3, 4, 5]"
+:quit
hunk ./tests/multfst.out 38
+Testing 1. hypothesis of: 'multfst'
+  multfst [0, 1, 2, 3, 4, 5]  ==  [0,0,0,0,0,0]
+
hunk ./tests/multlst.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g multlst
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise multlst
+:test multlst on "multlst [0, 1, 2, 3, 4, 5]"
+:quit
hunk ./tests/multlst.out 38
+Testing 1. hypothesis of: 'multlst'
+  multlst [0, 1, 2, 3, 4, 5]  ==  [5,5,5,5,5,5]
+
hunk ./tests/negateAll.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g negateAll
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise negateAll
+:test negateAll on "negateAll [True, True, False, True, True, False, False]"
+:quit
hunk ./tests/negateAll.out 38
+Testing 1. hypothesis of: 'negateAll'
+  negateAll [True, True, False, True, True, False, False]  ==  [False,False,True,False,False,True,True]
+
hunk ./tests/odD.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g odD
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise odD
+:test odD on "odD (S (S (S (S (S (S Z))))))"
+:test odD on "odD (S (S (S (S (S (S (S Z)))))))"
+:quit
hunk ./tests/odD.out 37
+Testing 1. hypothesis of: 'odD'
+  odD (S (S (S (S (S (S Z))))))  ==  False
+
+Testing 1. hypothesis of: 'odD'
+  odD (S (S (S (S (S (S (S Z)))))))  ==  True
+
hunk ./tests/oddpos.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g oddpos
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise oddpos
+:test oddpos on "oddpos [1, 2, 3, 4, 5, 6, 7, 8]"
+:quit
hunk ./tests/oddpos.out 38
+Testing 1. hypothesis of: 'oddpos'
+  oddpos [1, 2, 3, 4, 5, 6, 7, 8]  ==  [1,3,5,7]
+
hunk ./tests/pepper'.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g pepper'
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise pepper'
+-- Non-exhaustive patterns
+-- :test pepper' on "pepper' Z [0, 1, 2, 3]"
+:quit
hunk ./tests/pepper.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g pepper
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise pepper
+:test pepper on "pepper Z [0, 1, 2, 3]"
+:quit
hunk ./tests/pepper.out 43
+Testing 1. hypothesis of: 'pepper'
+  pepper Z [0, 1, 2, 3]  ==  [(Z,Just (0,S Z)),(S Z,Just (1,S (S Z))),(S (S Z),Just (2,S (S (S Z)))),(S (S (S Z)),Just (3,S (S (S (S Z))))),(S (S (S (S Z))),Nothing)]
+
hunk ./tests/playTennis.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g playTennis
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise playTennis
+:quit
hunk ./tests/powapp.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g powapp
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise powapp
+-- Non-exhaustive patterns
+-- :test powapp on "powapp [0, 1, 2, 3, 4, 5, 6, 7] [8, 9, 10, 11, 12, 13, 14, 15]"
+:quit
hunk ./tests/powset.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g powset
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise powset
+-- Non-exhaustive patterns
+-- :test powset on "powset [0, 1, 2, 3]"
+:quit
hunk ./tests/reversE.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g reversE
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise reversE
+:test reversE on "reversE [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/reversE.out 40
+Testing 1. hypothesis of: 'reversE'
+  reversE [0, 1, 2, 3, 4]  ==  [4,3,2,1,0]
+
hunk ./tests/rocket.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g rocket
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise rocket
+:test rocket on "rocket [O1, O2, O3] START"
+:quit
hunk ./tests/rocket.out 36
+Testing 1. hypothesis of: 'rocket'
+  rocket [O1, O2, O3] START  ==  UNL O1 (UNL O2 (UNL O3 (FLY (LOD O3 (LOD O2 (LOD O1 START))))))
+
hunk ./tests/shiftl.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g shiftl
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise shiftl
+:test shiftl on "shiftl [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/shiftl.out 37
+Testing 1. hypothesis of: 'shiftl'
+  shiftl [0, 1, 2, 3, 4]  ==  [1,2,3,4,0]
+
hunk ./tests/shiftr.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g shiftr
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise shiftr
+:test shiftr on "shiftr [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/shiftr.out 40
+Testing 1. hypothesis of: 'shiftr'
+  shiftr [0, 1, 2, 3, 4]  ==  [4,0,1,2,3]
+
hunk ./tests/snoc.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g snoc
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise snoc
+:test snoc on "snoc 0 [1, 2, 3, 4]"
+:quit
hunk ./tests/snoc.out 36
+Testing 1. hypothesis of: 'snoc'
+  snoc 0 [1, 2, 3, 4]  ==  [1,2,3,4,0]
+
hunk ./tests/switch.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g switch
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise switch
+:test switch on "switch [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/switch.out 40
+Testing 1. hypothesis of: 'switch'
+  switch [0, 1, 2, 3, 4]  ==  [4,1,2,3,0]
+
hunk ./tests/taiL.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g taiL
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise taiL
+:test taiL on "taiL [0, 1, 2, 3, 4]"
+:quit
hunk ./tests/taiL.out 35
+Testing 1. hypothesis of: 'taiL'
+  taiL [0, 1, 2, 3, 4]  ==  [1,2,3,4]
+
hunk ./tests/takE.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g takE
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise takE
+:test takE on "takE (S (S (S (S Z)))) [0, 1, 2, 3, 4, 5]"
+:quit
hunk ./tests/takE.out 37
+Testing 1. hypothesis of: 'takE'
+  takE (S (S (S (S Z)))) [0, 1, 2, 3, 4, 5]  ==  [0,1,2,3]
+
hunk ./tests/zeros.bat 1
-:l expl/Examples.hs
-:s + simplify
-:g zeros
-:q
+:load expl/Examples.hs
+:set +simplify
+:generalise zeros
+:test zeros on "zeros [Z, S (S Z), S Z, Z, S Z, S (S (S Z)), Z]"
+:quit
hunk ./tests/zeros.out 45
+Testing 1. hypothesis of: 'zeros'
+  zeros [Z, S (S Z), S Z, Z, S Z, S (S (S Z)), Z]  ==  [Z,Z,Z]
+
+Testing 2. hypothesis of: 'zeros'
+  zeros [Z, S (S Z), S Z, Z, S Z, S (S (S Z)), Z]  ==  [Z,Z,Z]
+