Bob is cold. Bob is furry. Bob is kind. Bob is not rough. Gary is cold. Gary is furry. Gary is not kind. Gary is nice. Gary is not quiet. Gary is rough. Gary is young. Harry is cold. Harry is furry. Harry is kind. Harry is nice. Harry is quiet. If something is kind and not rough then it is furry. If something is nice and not rough then it is quiet. Quiet things are kind. If something is kind then it is young. All young things are nice. If Bob is nice then Bob is kind. If something is rough and not furry then it is cold. If something is nice then it is cold.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is not rough.
("Bob" "is" "rough" "-")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is not kind.
("Gary" "is" "kind" "-")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is not quiet.
("Gary" "is" "quiet" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
If something is kind and not rough then it is furry.
((("something" "is" "kind" "+") ("something" "is" "rough" "~")) -> ("something" "is" "furry" "+"))
If something is nice and not rough then it is quiet.
((("something" "is" "nice" "+") ("something" "is" "rough" "~")) -> ("something" "is" "quiet" "+"))
Quiet things are kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
If something is kind then it is young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
All young things are nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
If Bob is nice then Bob is kind.
((("Bob" "is" "nice" "+")) -> ("Bob" "is" "kind" "+"))
If something is rough and not furry then it is cold.
((("something" "is" "rough" "+") ("something" "is" "furry" "~")) -> ("something" "is" "cold" "+"))
If something is nice then it is cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
Harry is furry.
True
1
proof
[(triple13)]
("Harry" "is" "furry" "+")
triple13
Harry is not cold.
False
1
inv-proof
[(triple12 OR ((triple15) -> rule8) OR ((((((triple14) -> rule4)) -> rule5)) -> rule8) OR ((((((((triple16) -> rule3)) -> rule4)) -> rule5)) -> rule8))]
("Harry" "is" "cold" "-")
triple12
((triple15) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((((triple14) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((((triple16) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is young.
True
2
proof
[(((triple14) -> rule4) OR ((((triple16) -> rule3)) -> rule4))]
("Harry" "is" "young" "+")
((triple14) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple16) -> (rule3 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Bob is not young.
False
2
inv-proof
[(((triple3) -> rule4))]
("Bob" "is" "young" "-")
((triple3) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
True
3
proof
[(((((triple3) -> rule4)) -> rule5))]
("Bob" "is" "nice" "+")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not nice.
False
3
inv-proof
[(((((triple3) -> rule4)) -> rule5))]
("Bob" "is" "nice" "-")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
@0: Bob is cold.[(triple1 OR ((((((triple3) -> rule4)) -> rule5)) -> rule8))] Bob is furry.[(triple2 OR ((triple3 triple4) -> rule1))] Bob is kind.[(triple3)] Bob is not rough.[(triple4)] Gary is cold.[(triple5 OR ((triple8) -> rule8) OR ((((triple11) -> rule5)) -> rule8))] Gary is furry.[(triple6)] Gary is nice.[(triple8 OR ((triple11) -> rule5))] Gary is not kind.[(triple7)] Gary is not quiet.[(triple9)] Gary is rough.[(triple10)] Gary is young.[(triple11)] Harry is cold.[(triple12 OR ((triple15) -> rule8) OR ((((((triple14) -> rule4)) -> rule5)) -> rule8) OR ((((((((triple16) -> rule3)) -> rule4)) -> rule5)) -> rule8))] Harry is furry.[(triple13)] Harry is kind.[(triple14 OR ((triple16) -> rule3))] Harry is nice.[(triple15 OR ((((triple14) -> rule4)) -> rule5) OR ((((((triple16) -> rule3)) -> rule4)) -> rule5))] Harry is quiet.[(triple16)] @1: Bob is young.[(((triple3) -> rule4))] Harry is young.[(((triple14) -> rule4) OR ((((triple16) -> rule3)) -> rule4))] @2: Bob is nice.[(((((triple3) -> rule4)) -> rule5))] @3: Bob is quiet.[(((((((triple3) -> rule4)) -> rule5) triple4) -> rule2))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
((((((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple3 triple4) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is not rough.
("Bob" "is" "rough" "-")
triple4
Gary is cold.
("Gary" "is" "cold" "+")
triple5
((triple8) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple11) -> (rule5 % int2))) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is nice.
("Gary" "is" "nice" "+")
triple8
((triple11) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not kind.
("Gary" "is" "kind" "-")
triple7
Gary is not quiet.
("Gary" "is" "quiet" "-")
triple9
Gary is rough.
("Gary" "is" "rough" "+")
triple10
Gary is young.
("Gary" "is" "young" "+")
triple11
Harry is cold.
("Harry" "is" "cold" "+")
triple12
((triple15) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((((triple14) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((((triple16) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
triple13
Harry is kind.
("Harry" "is" "kind" "+")
triple14
((triple16) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple15
((((triple14) -> (rule4 % int2))) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((((triple16) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple16
Bob is young.
("Bob" "is" "young" "+")
((triple3) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple14) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple16) -> (rule3 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
((((((triple3) -> (rule4 % int3))) -> (rule5 % int2)) triple4) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3