Bob is blue. Charlie is big. Charlie is blue. Charlie is furry. Charlie is quiet. Charlie is white. Gary is furry. Harry is big. Harry is furry. Harry is white. If someone is quiet then they are big. Blue, furry people are rough. Nice, rough people are blue. If Bob is blue then Bob is rough. All rough people are quiet. If someone is quiet and rough then they are blue. Big people are furry. If someone is furry and rough then they are nice. If someone is rough then they are white.
Bob is blue.
("Bob" "is" "blue" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is white.
("Harry" "is" "white" "+")
If someone is quiet then they are big.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "big" "+"))
Blue, furry people are rough.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Nice, rough people are blue.
((("someone" "is" "nice" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
If Bob is blue then Bob is rough.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "rough" "+"))
All rough people are quiet.
((("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet and rough then they are blue.
((("someone" "is" "quiet" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
Big people are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and rough then they are nice.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Harry is not furry.
False
1
inv-proof
[(triple9 OR ((triple8) -> rule7))]
("Harry" "is" "furry" "-")
triple9
((triple8) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Charlie is rough.
True
3
proof
[(((triple3 triple4) -> rule2) OR ((triple3 ((triple2) -> rule7)) -> rule2) OR ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2))]
("Charlie" "is" "rough" "+")
((triple3 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple3 ((((triple5) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not rough.
False
3
inv-proof
[(((triple3 triple4) -> rule2) OR ((triple3 ((triple2) -> rule7)) -> rule2) OR ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2))]
("Charlie" "is" "rough" "-")
((triple3 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple3 ((((triple5) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is nice.
True
5
proof
[(((triple4 ((triple3 triple4) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 triple4) -> rule2)) -> rule8) OR ((triple4 ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 triple4) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((triple4 ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8))]
("Charlie" "is" "nice" "+")
((triple4 ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple2) -> (rule7 % int3)) ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((triple4 ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple2) -> (rule7 % int3)) ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((triple4 ((triple3 ((((triple5) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((((triple2) -> (rule7 % int4)) ((triple3 ((((triple5) -> (rule1 % int3))) -> (rule7 % int4))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 ((((triple5) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Bob is not quiet.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule5))]
("Bob" "is" "quiet" "-")
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is big.
True
4
proof
[(((((((triple1) -> rule4)) -> rule5)) -> rule1))]
("Bob" "is" "big" "+")
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is not big.
False
4
inv-proof
[(((((((triple1) -> rule4)) -> rule5)) -> rule1))]
("Bob" "is" "big" "-")
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is furry.
True
5
proof
[(((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7))]
("Bob" "is" "furry" "+")
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is not furry.
False
5
inv-proof
[(((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7))]
("Bob" "is" "furry" "-")
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is nice.
True
8
proof
[(((((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7) ((triple1) -> rule4)) -> rule8))]
("Bob" "is" "nice" "+")
((((((((((triple1) -> (rule4 % int5))) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple1) -> (rule4 % int5))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
int5
Bob is not nice.
False
8
inv-proof
[(((((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7) ((triple1) -> rule4)) -> rule8))]
("Bob" "is" "nice" "-")
((((((((((triple1) -> (rule4 % int5))) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple1) -> (rule4 % int5))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
int5
Gary is not big.
Unknown
inv-rconc
[@4: Gary is big.[CWA. Example of deepest failure = (rule1 <- rule5 <- rule2 <- rule3 <- FAIL)]]
("Gary" "is" "big" "-")
Harry is nice.
Unknown
rconc
[@3: Harry is nice.[CWA. Example of deepest failure = (rule8 <- rule2 <- rule3 <- FAIL)]]
("Harry" "is" "nice" "+")
Gary is not white.
Unknown
inv-rconc
[@3: Gary is white.[CWA. Example of deepest failure = (rule9 <- rule2 <- rule3 <- FAIL)]]
("Gary" "is" "white" "-")
Gary is quiet.
Unknown
rconc
[@3: Gary is quiet.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule3 <- FAIL)]]
("Gary" "is" "quiet" "+")
Harry is not rough.
Unknown
inv-rconc
[@2: Harry is rough.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Harry" "is" "rough" "-")
Gary is blue.
Unknown
rconc
[@3: Gary is blue.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule6 <- FAIL)]]
("Gary" "is" "blue" "+")
@0: Bob is blue.[(triple1)] Charlie is big.[(triple2 OR ((triple5) -> rule1) OR ((((((triple3 triple4) -> rule2)) -> rule5)) -> rule1))] Charlie is blue.[(triple3)] Charlie is furry.[(triple4 OR ((triple2) -> rule7) OR ((((triple5) -> rule1)) -> rule7))] Charlie is quiet.[(triple5 OR ((((triple3 triple4) -> rule2)) -> rule5) OR ((((triple3 ((triple2) -> rule7)) -> rule2)) -> rule5))] Charlie is white.[(triple6 OR ((((triple3 triple4) -> rule2)) -> rule9) OR ((((triple3 ((triple2) -> rule7)) -> rule2)) -> rule9) OR ((((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule9))] Gary is furry.[(triple7)] Harry is big.[(triple8)] Harry is furry.[(triple9 OR ((triple8) -> rule7))] Harry is white.[(triple10)] @1: Bob is rough.[(((triple1) -> rule4))] Charlie is rough.[(((triple3 triple4) -> rule2) OR ((triple3 ((triple2) -> rule7)) -> rule2) OR ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2))] @2: Bob is quiet.[(((((triple1) -> rule4)) -> rule5))] Bob is white.[(((((triple1) -> rule4)) -> rule9))] Charlie is nice.[(((triple4 ((triple3 triple4) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 triple4) -> rule2)) -> rule8) OR ((triple4 ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 triple4) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 ((triple2) -> rule7)) -> rule2)) -> rule8) OR ((triple4 ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8) OR ((((triple2) -> rule7) ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8) OR ((((((triple5) -> rule1)) -> rule7) ((triple3 ((((triple5) -> rule1)) -> rule7)) -> rule2)) -> rule8))] @3: Bob is big.[(((((((triple1) -> rule4)) -> rule5)) -> rule1))] @4: Bob is furry.[(((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7))] @5: Bob is nice.[(((((((((((triple1) -> rule4)) -> rule5)) -> rule1)) -> rule7) ((triple1) -> rule4)) -> rule8))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Charlie is big.
("Charlie" "is" "big" "+")
triple2
((triple5) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((((triple3 triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
((triple2) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple5
((((triple3 triple4) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
triple6
((((triple3 triple4) -> (rule2 % int2))) -> (rule9 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple3 ((((triple5) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule9 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Gary is furry.
("Gary" "is" "furry" "+")
triple7
Harry is big.
("Harry" "is" "big" "+")
triple8
Harry is furry.
("Harry" "is" "furry" "+")
triple9
((triple8) -> (rule7 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple10
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple3 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple3 ((triple2) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple3 ((((triple5) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
((((triple1) -> (rule4 % int2))) -> (rule9 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple4 ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple2) -> (rule7 % int3)) ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((triple4 ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple2) -> (rule7 % int3)) ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 ((triple2) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((triple4 ((triple3 ((((triple5) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
((((triple2) -> (rule7 % int4)) ((triple3 ((((triple5) -> (rule1 % int3))) -> (rule7 % int4))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule7 % int3)) ((triple3 ((((triple5) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
((((((((((triple1) -> (rule4 % int5))) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple1) -> (rule4 % int5))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
int5