Fiona is blue. Fiona is kind. Fiona is rough. Fiona is round. Fiona is smart. Fiona is white. Fiona is young. Harry is blue. Harry is kind. Harry is rough. Harry is not round. Harry is not smart. Harry is white. Harry is young. If something is blue and round then it is smart. Kind things are rough. If Harry is smart and Harry is blue then Harry is rough. Blue things are white. If Fiona is blue and Fiona is young then Fiona is white. If something is round and not rough then it is young.
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is not round.
("Harry" "is" "round" "-")
Harry is not smart.
("Harry" "is" "smart" "-")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
If something is blue and round then it is smart.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "smart" "+"))
Kind things are rough.
((("something" "is" "kind" "+")) -> ("something" "is" "rough" "+"))
If Harry is smart and Harry is blue then Harry is rough.
((("Harry" "is" "smart" "+") ("Harry" "is" "blue" "+")) -> ("Harry" "is" "rough" "+"))
Blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If Fiona is blue and Fiona is young then Fiona is white.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "white" "+"))
If something is round and not rough then it is young.
((("something" "is" "round" "+") ("something" "is" "rough" "~")) -> ("something" "is" "young" "+"))
Fiona is white.
True
1
proof
[(triple6 OR ((triple1) -> rule4) OR ((triple1 triple7) -> rule5))]
("Fiona" "is" "white" "+")
triple6
((triple1) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple1 triple7) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is not round.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "round" "-")
triple4
@0: Fiona is blue.[(triple1)] Fiona is kind.[(triple2)] Fiona is rough.[(triple3 OR ((triple2) -> rule2))] Fiona is round.[(triple4)] Fiona is smart.[(triple5 OR ((triple1 triple4) -> rule1))] Fiona is white.[(triple6 OR ((triple1) -> rule4) OR ((triple1 triple7) -> rule5))] Fiona is young.[(triple7)] Harry is blue.[(triple8)] Harry is kind.[(triple9)] Harry is not round.[(triple11)] Harry is not smart.[(triple12)] Harry is rough.[(triple10 OR ((triple9) -> rule2))] Harry is white.[(triple13 OR ((triple8) -> rule4))] Harry is young.[(triple14)]
Fiona is blue.
("Fiona" "is" "blue" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
((triple2) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
((triple1 triple4) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple6
((triple1) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple1 triple7) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Harry is blue.
("Harry" "is" "blue" "+")
triple8
Harry is kind.
("Harry" "is" "kind" "+")
triple9
Harry is not round.
("Harry" "is" "round" "-")
triple11
Harry is not smart.
("Harry" "is" "smart" "-")
triple12
Harry is rough.
("Harry" "is" "rough" "+")
triple10
((triple9) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple13
((triple8) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
triple14