Charlie is furry. Charlie is kind. Charlie is nice. Charlie is quiet. Charlie is round. Charlie is white. Charlie is young. Dave is round. Dave is young. Fiona is furry. Fiona is nice. Fiona is quiet. Fiona is round. Fiona is white. Fiona is young. White things are kind. All young things are white. Furry, round things are nice. Kind, white things are quiet. Kind things are nice. If something is white then it is furry. All round, white things are nice. All young, furry things are nice.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
White things are kind.
((("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
All young things are white.
((("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
Furry, round things are nice.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
Kind, white things are quiet.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "quiet" "+"))
Kind things are nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
If something is white then it is furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
All round, white things are nice.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "nice" "+"))
All young, furry things are nice.
((("something" "is" "young" "+") ("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
Charlie is young.
True
1
proof
[(triple7)]
("Charlie" "is" "young" "+")
triple7
Fiona is not round.
False
1
inv-proof
[(triple13)]
("Fiona" "is" "round" "-")
triple13
Dave is white.
True
2
proof
[(((triple9) -> rule2))]
("Dave" "is" "white" "+")
((triple9) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Fiona is not kind.
False
2
inv-proof
[(((triple14) -> rule1) OR ((((triple15) -> rule2)) -> rule1))]
("Fiona" "is" "kind" "-")
((triple14) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple15) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Dave is nice.
True
4
proof
[(((triple8 ((triple9) -> rule2)) -> rule7) OR ((((((triple9) -> rule2)) -> rule1)) -> rule5) OR ((triple9 ((((triple9) -> rule2)) -> rule6)) -> rule8) OR ((((((triple9) -> rule2)) -> rule6) triple8) -> rule3))]
("Dave" "is" "nice" "+")
((triple8 ((triple9) -> (rule2 % int2))) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((((((triple9) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((triple9 ((((triple9) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple9) -> (rule2 % int3))) -> (rule6 % int2)) triple8) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is not furry.
False
3
inv-proof
[(((((triple9) -> rule2)) -> rule6))]
("Dave" "is" "furry" "-")
((((triple9) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is quiet.
True
6
proof
[(((((((triple9) -> rule2)) -> rule1) ((triple9) -> rule2)) -> rule4))]
("Dave" "is" "quiet" "+")
((((((triple9) -> (rule2 % int3))) -> (rule1 % int2)) ((triple9) -> (rule2 % int3))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is not quiet.
False
6
inv-proof
[(((((((triple9) -> rule2)) -> rule1) ((triple9) -> rule2)) -> rule4))]
("Dave" "is" "quiet" "-")
((((((triple9) -> (rule2 % int3))) -> (rule1 % int2)) ((triple9) -> (rule2 % int3))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
@0: Charlie is furry.[(triple1 OR ((triple6) -> rule6) OR ((((triple7) -> rule2)) -> rule6))] Charlie is kind.[(triple2 OR ((triple6) -> rule1) OR ((((triple7) -> rule2)) -> rule1))] Charlie is nice.[(triple3 OR ((triple2) -> rule5) OR ((triple1 triple5) -> rule3) OR ((triple5 triple6) -> rule7) OR ((triple7 triple1) -> rule8) OR ((((triple6) -> rule1)) -> rule5) OR ((triple5 ((triple7) -> rule2)) -> rule7) OR ((triple7 ((triple6) -> rule6)) -> rule8) OR ((((triple6) -> rule6) triple5) -> rule3) OR ((((((triple7) -> rule2)) -> rule1)) -> rule5) OR ((triple7 ((((triple7) -> rule2)) -> rule6)) -> rule8) OR ((((((triple7) -> rule2)) -> rule6) triple5) -> rule3))] Charlie is quiet.[(triple4 OR ((triple2 triple6) -> rule4) OR ((triple2 ((triple7) -> rule2)) -> rule4) OR ((((triple6) -> rule1) triple6) -> rule4) OR ((((triple6) -> rule1) ((triple7) -> rule2)) -> rule4) OR ((((((triple7) -> rule2)) -> rule1) triple6) -> rule4) OR ((((((triple7) -> rule2)) -> rule1) ((triple7) -> rule2)) -> rule4))] Charlie is round.[(triple5)] Charlie is white.[(triple6 OR ((triple7) -> rule2))] Charlie is young.[(triple7)] Dave is round.[(triple8)] Dave is young.[(triple9)] Fiona is furry.[(triple10 OR ((triple14) -> rule6) OR ((((triple15) -> rule2)) -> rule6))] Fiona is nice.[(triple11 OR ((triple10 triple13) -> rule3) OR ((triple13 triple14) -> rule7) OR ((triple15 triple10) -> rule8) OR ((((triple14) -> rule1)) -> rule5) OR ((triple13 ((triple15) -> rule2)) -> rule7) OR ((triple15 ((triple14) -> rule6)) -> rule8) OR ((((triple14) -> rule6) triple13) -> rule3) OR ((((((triple15) -> rule2)) -> rule1)) -> rule5) OR ((triple15 ((((triple15) -> rule2)) -> rule6)) -> rule8) OR ((((((triple15) -> rule2)) -> rule6) triple13) -> rule3))] Fiona is quiet.[(triple12 OR ((((triple14) -> rule1) triple14) -> rule4) OR ((((triple14) -> rule1) ((triple15) -> rule2)) -> rule4) OR ((((((triple15) -> rule2)) -> rule1) triple14) -> rule4) OR ((((((triple15) -> rule2)) -> rule1) ((triple15) -> rule2)) -> rule4))] Fiona is round.[(triple13)] Fiona is white.[(triple14 OR ((triple15) -> rule2))] Fiona is young.[(triple15)] @1: Dave is white.[(((triple9) -> rule2))] Fiona is kind.[(((triple14) -> rule1) OR ((((triple15) -> rule2)) -> rule1))] @2: Dave is furry.[(((((triple9) -> rule2)) -> rule6))] Dave is kind.[(((((triple9) -> rule2)) -> rule1))] Dave is nice.[(((triple8 ((triple9) -> rule2)) -> rule7) OR ((((((triple9) -> rule2)) -> rule1)) -> rule5) OR ((triple9 ((((triple9) -> rule2)) -> rule6)) -> rule8) OR ((((((triple9) -> rule2)) -> rule6) triple8) -> rule3))] @3: Dave is quiet.[(((((((triple9) -> rule2)) -> rule1) ((triple9) -> rule2)) -> rule4))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
((triple6) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
((triple6) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
((triple2) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple1 triple5) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple5 triple6) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple7 triple1) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple5 ((triple7) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
((triple7 ((triple6) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple6) -> (rule6 % int2)) triple5) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
((triple7 ((((triple7) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
((((((triple7) -> (rule2 % int3))) -> (rule6 % int2)) triple5) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
((triple2 triple6) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple2 ((triple7) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
((((triple6) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple6) -> (rule1 % int3)) ((triple7) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple7) -> (rule2 % int3))) -> (rule1 % int2)) triple6) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
((((((triple7) -> (rule2 % int3))) -> (rule1 % int2)) ((triple7) -> (rule2 % int3))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
triple5
Charlie is white.
("Charlie" "is" "white" "+")
triple6
((triple7) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple7
Dave is round.
("Dave" "is" "round" "+")
triple8
Dave is young.
("Dave" "is" "young" "+")
triple9
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
((triple14) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple15) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple10 triple13) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple13 triple14) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple15 triple10) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple14) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((triple13 ((triple15) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((triple15 ((triple14) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple14) -> (rule6 % int2)) triple13) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple15) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((triple15 ((((triple15) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((triple15) -> (rule2 % int3))) -> (rule6 % int2)) triple13) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple12
((((triple14) -> (rule1 % int2)) triple14) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple14) -> (rule1 % int3)) ((triple15) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((((triple15) -> (rule2 % int3))) -> (rule1 % int2)) triple14) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((triple15) -> (rule2 % int3))) -> (rule1 % int2)) ((triple15) -> (rule2 % int3))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
triple13
Fiona is white.
("Fiona" "is" "white" "+")
triple14
((triple15) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple15
Dave is white.
("Dave" "is" "white" "+")
((triple9) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple14) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple15) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple9) -> (rule2 % int2))) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
((((triple9) -> (rule2 % int2))) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((triple8 ((triple9) -> (rule2 % int2))) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
((((((triple9) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((triple9 ((((triple9) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
((((((triple9) -> (rule2 % int3))) -> (rule6 % int2)) triple8) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((((((triple9) -> (rule2 % int3))) -> (rule1 % int2)) ((triple9) -> (rule2 % int3))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
int3