As diferenças essenciais entre os dialetos SiRLI e Flora de F-Logic são as seguintes.

 

  1. Em SiRLI como na lógica dos predicados variáveis são explicitamente quantificadas usando FORALL e EXIST, enquanto em Flora como no Prolog as variáveis são todas implicitamente universalmente quantificadas. Para expressar em Flora um termo SiRLI com variável existencialmente quantificada sem mudar a semântica do termo, simplesmente use uma constante distinta para cada variável existencialmente quantificada distinta. Para expressar em Flora um termo SiRLI com variável universalmente quantificada, simplesmente use uma maiúscula como primeira letra dessa variável.
  2. Em SiRLI como na lógica dos predicados constantes começam com maiúscula, enquanto no Flora como no Prolog, constantes começam com minúscula para distinguir elas de variáveis que começam com maiúscula.
  3. Em SiRLI a conjunção lógica é expressada pela palavra AND enquanto em Flora como no Prolog ela é expressada por uma simples virgula
  4. Em SiRLI a implicação lógica é expressada pela string “<-“ onde A <- B quer dizer “B implica logicamente A”, enquanto no Flora como no Prolog é expressada pela string “:-“ onde A :- B quer dizer “B implica logicamente A”
  5. SiRLI autoriza regras com a conectiva de equivalência lógica <->, enquanto Flora não permite diretamente isso; para expressar tal regras SiRLI com equivalência é necessário em Flora usar duas regras, cada um expressando uma das duas implicação da equivalência, o seja, uma regras SiRLI da forma A <-> B pode ser traduzido para Flora pelas duas regras A :- B e B :- A.

 

Agora alguns exemplos de clausulas SiRLI seguidas das suas traduções Flora:

 

Pedaço de hierarquia conceitual em sintaxe SiRLI:  

Organization :: Root.

  Enterprise :: Organization.

 

Mesma hierarquia em sintaxe Flora:

organization :: root.

  enterprise :: organization.

 

 

Assinatura de classe em sintaxe SiRLI:

Product[producedBy =>> Project;

            developedBy =>> Organization].

 

Mesma assinatura em sintaxe Flora:

product[producedBy =>> project;

            developedBy =>> organization].

 

 

Meta-regra implicativa em sintaxe SiRLI:

FORALL O,C,A,V,T V:T <- C[A=>>T] AND O:C[A->>V].

 

Mesma meta-regra em sintaxe Flora

V:T :- C[A=>>T], O:C[A->>V].

 

 

Regra de equivalencia em sintaxe SiRLI

 

FORALL Event1, Event2

            Event1:Event[hasParts ->> Event2] <->

                        Event2:Event[atEvent ->> Event1].

 

Par de regras equivalentes em sintaxe Flora:

Event1:event[hasParts ->> Event2] :- Event2:event[atEvent ->> Event1].

Event2:event[atEvent ->> Event1] :- Event1:event[hasParts ->> Event2].