Bob is rough. Dave is blue. Dave is rough. Dave is round. Fiona is blue. Fiona is nice. Fiona is red. Fiona is rough. Fiona is round. Gary is blue. If someone is blue then they are rough. All red people are smart. If someone is smart then they are round. If someone is blue and red then they are young. Young people are red. If someone is rough then they are young. If Fiona is red then Fiona is round. Young, round people are red.
Bob is rough.
("Bob" "is" "rough" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is blue.
("Gary" "is" "blue" "+")
If someone is blue then they are rough.
((("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
All red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
If someone is smart then they are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
If someone is blue and red then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
Young people are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If someone is rough then they are young.
((("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
If Fiona is red then Fiona is round.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "round" "+"))
Young, round people are red.
((("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
Fiona is rough.
True
1
proof
[(triple8 OR ((triple5) -> rule1))]
("Fiona" "is" "rough" "+")
triple8
((triple5) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not rough.
False
1
inv-proof
[(triple8 OR ((triple5) -> rule1))]
("Fiona" "is" "rough" "-")
triple8
((triple5) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
True
2
proof
[(((triple7) -> rule2) OR ((((((triple8) -> rule6)) -> rule5)) -> rule2) OR ((((((triple8) -> rule6) triple9) -> rule8)) -> rule2) OR ((((((((triple5) -> rule1)) -> rule6)) -> rule5)) -> rule2) OR ((((((((triple5) -> rule1)) -> rule6) triple9) -> rule8)) -> rule2))]
("Fiona" "is" "smart" "+")
((triple7) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((((triple8) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple8) -> (rule6 % int3)) triple9) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((((((triple5) -> (rule1 % int4))) -> (rule6 % int3)) triple9) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Dave is not young.
False
2
inv-proof
[(((triple3) -> rule6) OR ((((triple2) -> rule1)) -> rule6))]
("Dave" "is" "young" "-")
((triple3) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Gary is young.
True
3
proof
[(((((triple10) -> rule1)) -> rule6))]
("Gary" "is" "young" "+")
((((triple10) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Dave is not red.
False
3
inv-proof
[(((((triple3) -> rule6)) -> rule5) OR ((((triple3) -> rule6) triple4) -> rule8) OR ((((((triple2) -> rule1)) -> rule6)) -> rule5) OR ((((((triple2) -> rule1)) -> rule6) triple4) -> rule8))]
("Dave" "is" "red" "-")
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple3) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Gary is red.
True
4
proof
[(((((((triple10) -> rule1)) -> rule6)) -> rule5))]
("Gary" "is" "red" "+")
((((((triple10) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Dave is not smart.
False
4
inv-proof
[(((((((triple3) -> rule6)) -> rule5)) -> rule2) OR ((((((triple3) -> rule6) triple4) -> rule8)) -> rule2) OR ((((((((triple2) -> rule1)) -> rule6)) -> rule5)) -> rule2) OR ((((((((triple2) -> rule1)) -> rule6) triple4) -> rule8)) -> rule2))]
("Dave" "is" "smart" "-")
((((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((((((triple3) -> (rule6 % int3)) triple4) -> (rule8 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((((((((triple2) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((((((triple2) -> (rule1 % int4))) -> (rule6 % int3)) triple4) -> (rule8 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Gary is smart.
True
5
proof
[(((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2))]
("Gary" "is" "smart" "+")
((((((((triple10) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is not smart.
False
5
inv-proof
[(((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2))]
("Gary" "is" "smart" "-")
((((((((triple10) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is round.
True
6
proof
[(((((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2)) -> rule3))]
("Gary" "is" "round" "+")
((((((((((triple10) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Gary is not round.
False
6
inv-proof
[(((((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2)) -> rule3))]
("Gary" "is" "round" "-")
((((((((((triple10) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5
Gary is not nice.
Unknown
inv-random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Bob is rough.[(triple1)] Dave is blue.[(triple2)] Dave is rough.[(triple3 OR ((triple2) -> rule1))] Dave is round.[(triple4 OR ((((((((triple3) -> rule6)) -> rule5)) -> rule2)) -> rule3) OR ((((((((((triple2) -> rule1)) -> rule6)) -> rule5)) -> rule2)) -> rule3))] Fiona is blue.[(triple5)] Fiona is nice.[(triple6)] Fiona is red.[(triple7 OR ((((triple8) -> rule6)) -> rule5) OR ((((triple8) -> rule6) triple9) -> rule8) OR ((((((triple5) -> rule1)) -> rule6)) -> rule5) OR ((((((triple5) -> rule1)) -> rule6) triple9) -> rule8))] Fiona is rough.[(triple8 OR ((triple5) -> rule1))] Fiona is round.[(triple9 OR ((triple7) -> rule7) OR ((((triple7) -> rule2)) -> rule3) OR ((((((triple8) -> rule6)) -> rule5)) -> rule7) OR ((((((((triple5) -> rule1)) -> rule6)) -> rule5)) -> rule7) OR ((((((((triple8) -> rule6)) -> rule5)) -> rule2)) -> rule3) OR ((((((((((triple5) -> rule1)) -> rule6)) -> rule5)) -> rule2)) -> rule3))] Gary is blue.[(triple10)] @1: Bob is young.[(((triple1) -> rule6))] Dave is young.[(((triple3) -> rule6) OR ((((triple2) -> rule1)) -> rule6))] Fiona is smart.[(((triple7) -> rule2) OR ((((((triple8) -> rule6)) -> rule5)) -> rule2) OR ((((((triple8) -> rule6) triple9) -> rule8)) -> rule2) OR ((((((((triple5) -> rule1)) -> rule6)) -> rule5)) -> rule2) OR ((((((((triple5) -> rule1)) -> rule6) triple9) -> rule8)) -> rule2))] Fiona is young.[(((triple8) -> rule6) OR ((triple5 triple7) -> rule4) OR ((((triple5) -> rule1)) -> rule6))] Gary is rough.[(((triple10) -> rule1))] @2: Bob is red.[(((((triple1) -> rule6)) -> rule5))] Dave is red.[(((((triple3) -> rule6)) -> rule5) OR ((((triple3) -> rule6) triple4) -> rule8) OR ((((((triple2) -> rule1)) -> rule6)) -> rule5) OR ((((((triple2) -> rule1)) -> rule6) triple4) -> rule8))] Gary is young.[(((((triple10) -> rule1)) -> rule6))] @3: Bob is smart.[(((((((triple1) -> rule6)) -> rule5)) -> rule2))] Dave is smart.[(((((((triple3) -> rule6)) -> rule5)) -> rule2) OR ((((((triple3) -> rule6) triple4) -> rule8)) -> rule2) OR ((((((((triple2) -> rule1)) -> rule6)) -> rule5)) -> rule2) OR ((((((((triple2) -> rule1)) -> rule6) triple4) -> rule8)) -> rule2))] Gary is red.[(((((((triple10) -> rule1)) -> rule6)) -> rule5))] @4: Bob is round.[(((((((((triple1) -> rule6)) -> rule5)) -> rule2)) -> rule3))] Gary is smart.[(((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2))] @5: Gary is round.[(((((((((((triple10) -> rule1)) -> rule6)) -> rule5)) -> rule2)) -> rule3))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
Dave is rough.
("Dave" "is" "rough" "+")
triple3
((triple2) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple4
((((((((triple3) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
((((((((((triple2) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
Fiona is red.
("Fiona" "is" "red" "+")
triple7
((((triple8) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((triple8) -> (rule6 % int2)) triple9) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((triple5) -> (rule1 % int3))) -> (rule6 % int2)) triple9) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
((triple5) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple7) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((((triple8) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((((((triple8) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((((((((triple5) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
int5
Gary is blue.
("Gary" "is" "blue" "+")
triple10
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple3) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple7) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((((triple8) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple8) -> (rule6 % int3)) triple9) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((((((triple5) -> (rule1 % int4))) -> (rule6 % int3)) triple9) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
((triple8) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((triple5 triple7) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((triple10) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple3) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
((((triple10) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
((((((triple1) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
((((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((((((triple3) -> (rule6 % int3)) triple4) -> (rule8 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((((((((triple2) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((((((triple2) -> (rule1 % int4))) -> (rule6 % int3)) triple4) -> (rule8 % int2))) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
((((((triple10) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
((((((((triple1) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
((((((((triple10) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
((((((((((triple10) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
int5