Bob is cold. Bob is green. Bob is kind. Bob is nice. Bob is round. Bob is white. Charlie is cold. Charlie is green. Charlie is kind. Charlie is round. Charlie is white. Charlie is young. Round, young things are white. All cold, nice things are kind. Kind, white things are young.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Round, young things are white.
((("something" "is" "round" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
All cold, nice things are kind.
((("something" "is" "cold" "+") ("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Kind, white things are young.
((("something" "is" "kind" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
Bob is cold.
True
1
proof
[(triple1)]
("Bob" "is" "cold" "+")
triple1
Bob is not green.
False
1
inv-proof
[(triple2)]
("Bob" "is" "green" "-")
triple2
@0: Bob is cold.[(triple1)] Bob is green.[(triple2)] Bob is kind.[(triple3 OR ((triple1 triple4) -> rule2))] Bob is nice.[(triple4)] Bob is round.[(triple5)] Bob is white.[(triple6)] Charlie is cold.[(triple7)] Charlie is green.[(triple8)] Charlie is kind.[(triple9)] Charlie is round.[(triple10)] Charlie is white.[(triple11 OR ((triple10 triple12) -> rule1))] Charlie is young.[(triple12 OR ((triple9 triple11) -> rule3))] @1: Bob is young.[(((triple3 triple6) -> rule3) OR ((((triple1 triple4) -> rule2) triple6) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
((triple1 triple4) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple6
Charlie is cold.
("Charlie" "is" "cold" "+")
triple7
Charlie is green.
("Charlie" "is" "green" "+")
triple8
Charlie is kind.
("Charlie" "is" "kind" "+")
triple9
Charlie is round.
("Charlie" "is" "round" "+")
triple10
Charlie is white.
("Charlie" "is" "white" "+")
triple11
((triple10 triple12) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple12
((triple9 triple11) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple3 triple6) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple1 triple4) -> (rule2 % int2)) triple6) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2