[testing data added
martin.hofmann@uni-bamberg.de**20081203145640] hunk ./src/Data/Initialiser.hs 10
-import Data.Hypotheses (Hypos, Hypo)
+import Data.Hypotheses (Hypos, Hypo, hypo)
hunk ./src/Data/Initialiser.hs 12
---import Data.Fragments
+import Data.Fragments (ruleFrag, ruleFrags, openPositions, freeVars)
hunk ./src/Data/Initialiser.hs 63
+revai = liftM head [d| rev x = x
+                       rev (x1:xs) = (x1:xs)
+                       rev (x1:x2:xs) = (x1:x2:xs)
+                       rev (x1:x2:x3:xs) = (x1:x2:x3:xs)
+                       rev (x1:x2:x3:x4:[]) = (x1:x2:x3:x4:[]) 
+                   |]
hunk ./src/Data/Initialiser.hs 75
+
+revai04 = rule [mkVP "x_14"] (mkVE "y_14")
+fragai04 = ruleFrag (mkName "rev") revai04 [0,1,2,3,4] []
+revai14 = rule [InfixP (mkVP "x1_15") '(:) (mkVP "x_16")] 
+                (InfixE (Just (mkVE "y1_15")) (ConE '(:)) (Just (mkVE "ys_16")))
+fragai14 = ruleFrag (mkName "rev") revai14 [1,2,3,4] []                
+revai24 = rule [InfixP (mkVP "x1_17") '(:) (InfixP (mkVP "x2_18") '(:) (mkVP "xs_19"))]
+               (InfixE (Just (mkVE "y1_17")) (ConE '(:)) (Just (InfixE (Just (mkVE "y2_18")) (ConE '(:)) (Just (mkVE "ys_19")))))
+fragai24 = ruleFrag (mkName "rev") revai24 [2,3,4] []                
+revai34 = rule [InfixP (mkVP "x1_20") '(:) (InfixP (mkVP "x2_21") '(:) (InfixP (mkVP "x3_22") '(:) (mkVP "xs_23")))]
+               (InfixE (Just (mkVE "y1_20")) (ConE '(:)) (Just (InfixE (Just (mkVE "y2_21")) (ConE '(:)) (Just (InfixE (Just (mkVE "y3_22")) (ConE '(:)) (Just (mkVE "ys_23")))))))
+fragai34 = ruleFrag (mkName "rev") revai34 [3,4] []                
+revai44 = rule [InfixP (mkVP "x1_24") '(:) (InfixP (mkVP "x2_25") '(:) (InfixP (mkVP "x3_26") '(:) (InfixP (mkVP "x4_27") '(:) (ConP '[] []))))]
+               (InfixE (Just (mkVE "y1_24")) (ConE '(:)) (Just (InfixE (Just (mkVE "y2_25")) (ConE '(:)) (Just (InfixE (Just (mkVE "y3_26")) (ConE '(:)) (Just (InfixE (Just (mkVE "y4_27")) (ConE '(:)) (Just (ConE '[])))))))))
+fragai44 = ruleFrag (mkName "rev") revai44 [4] []                
+
+hypor04 = hypo $ ruleFrags [fragai04]
+hypor14 = hypo $ ruleFrags [fragai04,fragai14]
+hypor24 = hypo $ ruleFrags [fragai04,fragai14,fragai24]
+hypor34 = hypo $ ruleFrags [fragai04,fragai14,fragai24,fragai34]
+hypor44 = hypo $ ruleFrags [fragai04,fragai14,fragai24,fragai34,fragai44]
+
+
+pd0414 = (fragai04,ruleFrags [fragai04,fragai14],[])
+pd1424 = (fragai14,ruleFrags [fragai04,fragai14,fragai24],[])
+pd2434 = (fragai24,ruleFrags [fragai04,fragai14,fragai24,fragai34],[])
+pd3444 = (fragai34,ruleFrags [fragai04,fragai14,fragai24,fragai34,fragai44],[])
+
+--revhsp0 = initHSpace hypor04
+--revhsp1 = insert hypor24 revhsp0
+--revhsp2 = insert hypor34 revhsp1
+--revhsp3 = insert hypor44 revhsp2
+--
+--test1 = propagate pd1424 $ propagate pd0414 revhsp3
+--
+--hyposrevall = insert hypor44 $ insert hypor34 $ insert hypor24 $ insert hypor14 $  initHSpace hypor04
+
+revs = (mkName "rev", rules [rev0,rev1,rev2,rev3,rev4])
+
hunk ./src/Data/Initialiser.hs 126
---
---
--- 
---rev1 = rule 1 "a"
---rule2 = rule 2 "b"
---rule3 = rule 3 "c"
---rule4 = rule 4 "d"
---rule5 = rule 5 "e"
---rule6 = rule 6 "f"
---rule7 = rule 7 "g"
---rule8 = rule 8 "h"
---rule9 = rule 9 "i"
---rule10 = rule 10 "j"
---
---rule1' = rule 1 "aaaaaaaaa"
---rule2' = rule 2 "bbbbbbbbbbbbbbbbbbbb"
---rule3' = rule 3 "ccc"
---rule4' = rule 4 "ddd"
---rule5' = rule 5 "eeeeeeeeeeeeeeee"
---rule6' = rule 6 "fff"
---rule7' = rule 7 "ggg"
---rule8' = rule 8 "hhh"
---rule9' = rule 9 "iii"
---rule10' = rule 10 "jjj"
---
---rules1o = rules [rule1,rule2,rule3]
---rules1c = rules [rule4,rule5]
---rules1ao = rules [rule1]
---rules1ac = rules [rule4,rule5]
---rules1bo = rules [rule1,rule2,rule3]
---rules1bc = rules [rule4,rule5]
---rules1co = rules [rule6]
---rules1cc = rules [rule4,rule5]
---rules2o = rules [rule6,rule7,rule8]
---rules2c = rules [rule9,rule10]
---rules3o = rules [rule1,rule6,rule8]
---rules3c = rules [rule4,rule10]
---rules4o = rules [rule9,rule2,rule3]
---rules4c = rules [rule9,rule5]
---
-----
-----hypo1 = hypo (R.map (asFrag (mkName "")) rules1o) -- rules1c
-----hypo1a = hypo rules1ao rules1ac
-----hypo1b = hypo rules1bo rules1bc
-----hypo1c = hypo rules1co rules1cc
-----hypo2 = hypo rules2o rules2c
-----hypo3 = hypo rules3o rules3c
-----hypo4 = hypo rules4o rules4c
-----
-----hsp = initHSpace
-----hsp1 = insert hypo1 hsp
-----hsp1a = insert hypo1c hsp1
-----hsp2 = insert hypo2 hsp1
-----
-----hsp3 = insert hypo3 hsp2
-----hsp4 = insert hypo4 hsp3
-----hsp5 = insert hypo1b hsp4
-----hsp6 = insert hypo1c hsp5
-----               