Bob is kind. Bob is nice. Bob is red. Bob is rough. Bob is round. Bob is smart. Bob is young. Charlie is kind. Charlie is nice. Charlie is red. Charlie is round. Harry is nice. Harry is red. Harry is rough. Harry is smart. Harry is young. Young, kind people are rough. All smart, red people are round. Rough, nice people are young. Round, rough people are kind. If someone is smart and round then they are red. All smart, kind people are young. Red people are nice. If someone is red then they are smart.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Young, kind people are rough.
((("someone" "is" "young" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
All smart, red people are round.
((("someone" "is" "smart" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
Rough, nice people are young.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
Round, rough people are kind.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If someone is smart and round then they are red.
((("someone" "is" "smart" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
All smart, kind people are young.
((("someone" "is" "smart" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is red then they are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Charlie is red.
True
1
proof
[(triple10)]
("Charlie" "is" "red" "+")
triple10
Harry is not nice.
False
1
inv-proof
[(triple12 OR ((triple13) -> rule7))]
("Harry" "is" "nice" "-")
triple12
((triple13) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Charlie is smart.
True
2
proof
[(((triple10) -> rule8))]
("Charlie" "is" "smart" "+")
((triple10) -> (rule8 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Harry is not round.
False
3
inv-proof
[(((triple15 triple13) -> rule2) OR ((((triple13) -> rule8) triple13) -> rule2))]
("Harry" "is" "round" "-")
((triple15 triple13) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple13) -> (rule8 % int2)) triple13) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
True
5
proof
[(((((triple15 triple13) -> rule2) triple14) -> rule4) OR ((((((triple13) -> rule8) triple13) -> rule2) triple14) -> rule4))]
("Harry" "is" "kind" "+")
((((triple15 triple13) -> (rule2 % int2)) triple14) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((((triple13) -> (rule8 % int3)) triple13) -> (rule2 % int2)) triple14) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Charlie is not young.
False
4
inv-proof
[(((((triple10) -> rule8) triple8) -> rule6))]
("Charlie" "is" "young" "-")
((((triple10) -> (rule8 % int2)) triple8) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
True
6
proof
[(((((((triple10) -> rule8) triple8) -> rule6) triple8) -> rule1))]
("Charlie" "is" "rough" "+")
((((((triple10) -> (rule8 % int3)) triple8) -> (rule6 % int2)) triple8) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is not rough.
False
6
inv-proof
[(((((((triple10) -> rule8) triple8) -> rule6) triple8) -> rule1))]
("Charlie" "is" "rough" "-")
((((((triple10) -> (rule8 % int3)) triple8) -> (rule6 % int2)) triple8) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
@0: Bob is kind.[(triple1 OR ((triple5 triple4) -> rule4) OR ((((triple6 triple3) -> rule2) triple4) -> rule4) OR ((((((triple3) -> rule8) triple3) -> rule2) triple4) -> rule4))] Bob is nice.[(triple2 OR ((triple3) -> rule7) OR ((((triple6 triple5) -> rule5)) -> rule7))] Bob is red.[(triple3 OR ((triple6 triple5) -> rule5))] Bob is rough.[(triple4 OR ((triple7 triple1) -> rule1) OR ((((triple6 triple1) -> rule6) triple1) -> rule1) OR ((((((triple3) -> rule8) triple1) -> rule6) triple1) -> rule1))] Bob is round.[(triple5 OR ((triple6 triple3) -> rule2) OR ((((triple3) -> rule8) triple3) -> rule2))] Bob is smart.[(triple6 OR ((triple3) -> rule8))] Bob is young.[(triple7 OR ((triple4 triple2) -> rule3) OR ((triple6 triple1) -> rule6) OR ((triple4 ((triple3) -> rule7)) -> rule3) OR ((triple6 ((triple5 triple4) -> rule4)) -> rule6) OR ((((triple3) -> rule8) triple1) -> rule6) OR ((((triple3) -> rule8) ((triple5 triple4) -> rule4)) -> rule6) OR ((triple4 ((((triple6 triple5) -> rule5)) -> rule7)) -> rule3) OR ((triple6 ((((triple6 triple3) -> rule2) triple4) -> rule4)) -> rule6) OR ((((triple3) -> rule8) ((((triple6 triple3) -> rule2) triple4) -> rule4)) -> rule6) OR ((triple6 ((((((triple3) -> rule8) triple3) -> rule2) triple4) -> rule4)) -> rule6) OR ((((triple3) -> rule8) ((((((triple3) -> rule8) triple3) -> rule2) triple4) -> rule4)) -> rule6))] Charlie is kind.[(triple8)] Charlie is nice.[(triple9 OR ((triple10) -> rule7))] Charlie is red.[(triple10)] Charlie is round.[(triple11 OR ((((triple10) -> rule8) triple10) -> rule2))] Harry is nice.[(triple12 OR ((triple13) -> rule7))] Harry is red.[(triple13)] Harry is rough.[(triple14)] Harry is smart.[(triple15 OR ((triple13) -> rule8))] Harry is young.[(triple16 OR ((triple14 triple12) -> rule3) OR ((triple14 ((triple13) -> rule7)) -> rule3) OR ((triple15 ((((triple15 triple13) -> rule2) triple14) -> rule4)) -> rule6) OR ((((triple13) -> rule8) ((((triple15 triple13) -> rule2) triple14) -> rule4)) -> rule6) OR ((triple15 ((((((triple13) -> rule8) triple13) -> rule2) triple14) -> rule4)) -> rule6) OR ((((triple13) -> rule8) ((((((triple13) -> rule8) triple13) -> rule2) triple14) -> rule4)) -> rule6))] @1: Charlie is smart.[(((triple10) -> rule8))] Harry is round.[(((triple15 triple13) -> rule2) OR ((((triple13) -> rule8) triple13) -> rule2))] @2: Charlie is young.[(((((triple10) -> rule8) triple8) -> rule6))] Harry is kind.[(((((triple15 triple13) -> rule2) triple14) -> rule4) OR ((((((triple13) -> rule8) triple13) -> rule2) triple14) -> rule4))] @3: Charlie is rough.[(((((((triple10) -> rule8) triple8) -> rule6) triple8) -> rule1))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
((triple5 triple4) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((triple6 triple3) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((((triple3) -> (rule8 % int3)) triple3) -> (rule2 % int2)) triple4) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple3) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple6 triple5) -> (rule5 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple3
((triple6 triple5) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((triple7 triple1) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple6 triple1) -> (rule6 % int2)) triple1) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple3) -> (rule8 % int3)) triple1) -> (rule6 % int2)) triple1) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple6 triple3) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule8 % int2)) triple3) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple6
((triple3) -> (rule8 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7
((triple4 triple2) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple6 triple1) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple4 ((triple3) -> (rule7 % int2))) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((triple6 ((triple5 triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((triple3) -> (rule8 % int2)) triple1) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple3) -> (rule8 % int3)) ((triple5 triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((triple4 ((((triple6 triple5) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((triple6 ((((triple6 triple3) -> (rule2 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple3) -> (rule8 % int4)) ((((triple6 triple3) -> (rule2 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((triple6 ((((((triple3) -> (rule8 % int4)) triple3) -> (rule2 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple3) -> (rule8 % int4)) ((((((triple3) -> (rule8 % int4)) triple3) -> (rule2 % int3)) triple4) -> (rule4 % int2))) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
triple8
Charlie is nice.
("Charlie" "is" "nice" "+")
triple9
((triple10) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple10
Charlie is round.
("Charlie" "is" "round" "+")
triple11
((((triple10) -> (rule8 % int2)) triple10) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
triple12
((triple13) -> (rule7 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is smart.
("Harry" "is" "smart" "+")
triple15
((triple13) -> (rule8 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
triple16
((triple14 triple12) -> (rule3 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((triple14 ((triple13) -> (rule7 % int2))) -> (rule3 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((triple15 ((((triple15 triple13) -> (rule2 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple13) -> (rule8 % int4)) ((((triple15 triple13) -> (rule2 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((triple15 ((((((triple13) -> (rule8 % int4)) triple13) -> (rule2 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple13) -> (rule8 % int4)) ((((((triple13) -> (rule8 % int4)) triple13) -> (rule2 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple10) -> (rule8 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple15 triple13) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple13) -> (rule8 % int2)) triple13) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
((((triple10) -> (rule8 % int2)) triple8) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
((((triple15 triple13) -> (rule2 % int2)) triple14) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((((triple13) -> (rule8 % int3)) triple13) -> (rule2 % int2)) triple14) -> (rule4 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((triple10) -> (rule8 % int3)) triple8) -> (rule6 % int2)) triple8) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3