RIF i Minicases
restrictive behavior
restrictive behavior and multiple values
Opis
Część pierwsza, czyli wyliczenie ilości ocen 2 jest proste w realizaji, w regule używam predykatu count
dla wyliczenia. Potem mogę dla wszystkich zmiennych wykonać jakąś operację używając Exists
(w Implies
używam pustego And
, który zwraca zawszę prawdę). Aby wywołać we wniosku dwie operacje, założyłem istnienie predykatu run-two
, który jest w stanie wywołać dwie reguły.
Zapis za pomocą RIF
restrictive behavior and multiple values cont.
grouped attributes and multiple value operations
Opis
Proponowany zapis został stworzony w oparciu o przykład. Wykorzystałem tutaj termy z nazwanymi argumentami. Ciekawe jest to, że pomimo praktycznie takiej samej struktury jak w przykładzie, reguła nie przechodzi walidacji.
Proponowany zapis w RIF.
grouped attributes and assert
calculations (factorial)



Opis
Według mnie tej reguły nie da się zapisać za pomocą RIF. Problem tkwi w sterowaniu wnioskowaniem. Format RIF nie przewiduje nazywania poszczególnych reguł (tag sentence
nie posiada zadnych artybutów). Jest to powód nie możliwości zapisania reguły. Rozwiązaniem tego problemu byłoby zaproponowanie własnego dialektu, który posiadałby stosowne modyfikacje.
finding successors in a tree
Opis
Zakładam tutaj, że uzywając kwantyfikatora Forall
, będzie on uwzględniał również wartości dodawane do zbioru podczas wykonywania reguł.
Proponowany zapis.
finding successors in a tree with a hop
A2A