Anne is big. Anne is kind. Charlie is kind. Charlie is red. Dave is big. Dave is furry. Dave is kind. Dave is nice. Dave is red. Dave is rough. Fiona is big. Fiona is furry. Fiona is green. Fiona is kind. Fiona is red. Fiona is rough. All kind things are red. Green, red things are furry. If Anne is nice then Anne is green. If something is rough then it is red. All nice things are furry. If something is big and furry then it is rough. All nice, green things are red. If something is kind then it is nice.
Anne is big.
("Anne" "is" "big" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
All kind things are red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
Green, red things are furry.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If Anne is nice then Anne is green.
((("Anne" "is" "nice" "+")) -> ("Anne" "is" "green" "+"))
If something is rough then it is red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
All nice things are furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is big and furry then it is rough.
((("something" "is" "big" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
All nice, green things are red.
((("something" "is" "nice" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If something is kind then it is nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
Fiona is green.
True
1
proof
[(triple13)]
("Fiona" "is" "green" "+")
triple13
Dave is not red.
False
1
inv-proof
[(triple9 OR ((triple10) -> rule4) OR ((triple7) -> rule1) OR ((((triple5 triple6) -> rule6)) -> rule4) OR ((((triple5 ((triple8) -> rule5)) -> rule6)) -> rule4) OR ((((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule6)) -> rule4))]
("Dave" "is" "red" "-")
triple9
((triple10) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple7) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((triple5 triple6) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple5 ((triple8) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((triple5 ((((triple7) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Fiona is nice.
True
2
proof
[(((triple14) -> rule8))]
("Fiona" "is" "nice" "+")
((triple14) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple3) -> rule8))]
("Charlie" "is" "nice" "-")
((triple3) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Anne is furry.
True
3
proof
[(((((triple2) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2) OR ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2))]
("Anne" "is" "furry" "+")
((((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple2) -> (rule8 % int4)) ((((triple2) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is not furry.
False
3
inv-proof
[(((((triple2) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2) OR ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2))]
("Anne" "is" "furry" "-")
((((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple2) -> (rule8 % int4)) ((((triple2) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is rough.
True
5
proof
[(((triple1 ((((triple2) -> rule8)) -> rule5)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2)) -> rule6))]
("Anne" "is" "rough" "+")
((triple1 ((((triple2) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((((triple2) -> (rule8 % int5)) ((((triple2) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
Anne is not rough.
False
5
inv-proof
[(((triple1 ((((triple2) -> rule8)) -> rule5)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2)) -> rule6))]
("Anne" "is" "rough" "-")
((triple1 ((((triple2) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((((triple2) -> (rule8 % int5)) ((((triple2) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
Charlie is not rough.
Unknown
inv-rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "rough" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
@0: Anne is big.[(triple1)] Anne is kind.[(triple2)] Charlie is kind.[(triple3)] Charlie is red.[(triple4 OR ((triple3) -> rule1))] Dave is big.[(triple5)] Dave is furry.[(triple6 OR ((triple8) -> rule5) OR ((((triple7) -> rule8)) -> rule5))] Dave is kind.[(triple7)] Dave is nice.[(triple8 OR ((triple7) -> rule8))] Dave is red.[(triple9 OR ((triple10) -> rule4) OR ((triple7) -> rule1) OR ((((triple5 triple6) -> rule6)) -> rule4) OR ((((triple5 ((triple8) -> rule5)) -> rule6)) -> rule4) OR ((((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule6)) -> rule4))] Dave is rough.[(triple10 OR ((triple5 triple6) -> rule6) OR ((triple5 ((triple8) -> rule5)) -> rule6) OR ((triple5 ((((triple7) -> rule8)) -> rule5)) -> rule6))] Fiona is big.[(triple11)] Fiona is furry.[(triple12 OR ((triple13 triple15) -> rule2) OR ((((triple14) -> rule8)) -> rule5) OR ((triple13 ((triple14) -> rule1)) -> rule2) OR ((triple13 ((triple16) -> rule4)) -> rule2) OR ((triple13 ((((triple14) -> rule8) triple13) -> rule7)) -> rule2))] Fiona is green.[(triple13)] Fiona is kind.[(triple14)] Fiona is red.[(triple15 OR ((triple14) -> rule1) OR ((triple16) -> rule4) OR ((((triple11 triple12) -> rule6)) -> rule4) OR ((((triple14) -> rule8) triple13) -> rule7) OR ((((triple11 ((((triple14) -> rule8)) -> rule5)) -> rule6)) -> rule4))] Fiona is rough.[(triple16 OR ((triple11 triple12) -> rule6) OR ((triple11 ((triple13 triple15) -> rule2)) -> rule6) OR ((triple11 ((((triple14) -> rule8)) -> rule5)) -> rule6) OR ((triple11 ((triple13 ((triple14) -> rule1)) -> rule2)) -> rule6) OR ((triple11 ((triple13 ((((triple14) -> rule8) triple13) -> rule7)) -> rule2)) -> rule6))] @1: Anne is nice.[(((triple2) -> rule8))] Anne is red.[(((triple2) -> rule1) OR ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7) OR ((((triple1 ((((triple2) -> rule8)) -> rule5)) -> rule6)) -> rule4))] Charlie is nice.[(((triple3) -> rule8))] Fiona is nice.[(((triple14) -> rule8))] @2: Anne is furry.[(((((triple2) -> rule8)) -> rule5) OR ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2) OR ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2))] Anne is green.[(((((triple2) -> rule8)) -> rule3))] Charlie is furry.[(((((triple3) -> rule8)) -> rule5))] @3: Anne is rough.[(((triple1 ((((triple2) -> rule8)) -> rule5)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((triple2) -> rule1)) -> rule2)) -> rule6) OR ((triple1 ((((((triple2) -> rule8)) -> rule3) ((((triple2) -> rule8) ((((triple2) -> rule8)) -> rule3)) -> rule7)) -> rule2)) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
((triple3) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
((triple8) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
triple7
Dave is nice.
("Dave" "is" "nice" "+")
triple8
((triple7) -> (rule8 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
triple9
((triple10) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple7) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((triple5 triple6) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple5 ((triple8) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((triple5 ((((triple7) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
triple10
((triple5 triple6) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple5 ((triple8) -> (rule5 % int2))) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple5 ((((triple7) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
triple11
Fiona is furry.
("Fiona" "is" "furry" "+")
triple12
((triple13 triple15) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple14) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((triple13 ((triple14) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple13 ((triple16) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
((triple13 ((((triple14) -> (rule8 % int3)) triple13) -> (rule7 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
triple13
Fiona is kind.
("Fiona" "is" "kind" "+")
triple14
Fiona is red.
("Fiona" "is" "red" "+")
triple15
((triple14) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple16) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple11 triple12) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple14) -> (rule8 % int2)) triple13) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple11 ((((triple14) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple16
((triple11 triple12) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple11 ((triple13 triple15) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple11 ((((triple14) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((triple11 ((triple13 ((triple14) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
((triple11 ((triple13 ((((triple14) -> (rule8 % int4)) triple13) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple2) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple2) -> (rule8 % int3)) ((((triple2) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((triple1 ((((triple2) -> (rule8 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple3) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple14) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
((((((triple2) -> (rule8 % int4))) -> (rule3 % int3)) ((((triple2) -> (rule8 % int4)) ((((triple2) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
((((triple2) -> (rule8 % int2))) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple3) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
((triple1 ((((triple2) -> (rule8 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
((triple1 ((((((triple2) -> (rule8 % int5))) -> (rule3 % int4)) ((((triple2) -> (rule8 % int5)) ((((triple2) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5