avalog
                                
                                
                                
                                    avalog copied to clipboard
                            
                            
                            
                        An experimental implementation of Avatar Logic with a Prolog-like syntax
For example, when structuring data about ancient Egypt, I don't want to say explicitly that it is about ancient Egypt. However, when I combine this data with ancient Greece, there...
One idea is to add tree syntax as a way of making it simpler to create structured data. ``` ancient_egypt { early_dynastic_period, old_kingdom_era, } ``` This is the same as:...
https://github.com/advancedresearch/avalog/blob/master/source/psi.txt#L82 This should be changed to: `s'(X) : nat :- (tr, inf), X : nat.` Prevents unnecessary sub-rules from being generated.
Currently, one has type type the following to check a change in the source: ``` > clear > reload > provenr no amb ``` It would be nice to have...
Related to https://github.com/advancedresearch/avalog/issues/136 `X == Y` The reason this is needed, is because of dual operators. In a rule with `X, X*, Y, Y*`, the 1-avatars are detected independently, which...
A dual operator might be used on 1-avatars in rules: ``` (X, Z) :- (X, Y), (Y, Z), (X*, X). ``` This rule is the same as the two following...
Dead-ended half-evaluated rules happen because of diagonalization. They can be detected by some sub-expression of the rule having no match against facts.
A time dimension is a special optimization knowledge in the accelerator that increases monotonically. This knowledge can be referred to, but not accessed by value at the language level. Time...
Currently, the only logical connectivity supported is `,` (and). The way the inference rule should work, is that variables are bound and substituted as usual, but branches with OR reduces...