Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Shared Examples

Every .lino file in this folder is a self-contained Relative Meta-Logic (RML) knowledge base. They are language-agnostic: the same file is executed by both the JavaScript and the Rust implementations and is required to produce identical output.

The canonical expected output for each file lives in expected.lino, itself written in Links Notation so the contract between implementations is expressed in the same language as the examples. Both implementations have automated tests that walk this folder and assert their results against that file, so any implementation drift fails CI in both languages.

Running an example

# JavaScript
node js/src/rml-links.mjs examples/classical-logic.lino

# Rust (debug)
cargo run --manifest-path rust/Cargo.toml -- examples/classical-logic.lino

# Rust (release)
cargo build --release --manifest-path rust/Cargo.toml
./rust/target/release/rml examples/classical-logic.lino

Index

File Topic
classical-logic.lino Standard Boolean (2-valued) logic
automatic-sequences.lino Pecan-style automatic-sequence theorem decision
propositional-logic.lino Probabilistic propositional logic with independent events
fuzzy-logic.lino Continuous-valued (Zadeh) fuzzy logic
ternary-kleene.lino Three-valued Kleene logic
belnap-four-valued.lino Belnap four-valued logic with both/neither
liar-paradox.lino Liar paradox in [0, 1] (resolves to 0.5)
liar-paradox-balanced.lino Liar paradox in [-1, 1] (resolves to 0)
bayesian-inference.lino Bayes' theorem on a medical-test scenario
bayesian-network.lino Directed acyclic Bayesian network
markov-chain.lino Weather-state Markov chain
markov-network.lino Cyclic Markov network with three-way cliques
self-reasoning.lino Meta-logic reasoning about its own logic system
dependent-types.lino Dependent type system with universes, Π-types, λ
lambda-calculus.lino Lambda calculus via HOAS, with forall desugaring to Pi
demo.lino Custom operator configuration (avg-based AND)
flipped-axioms.lino Arbitrary probability assignments

Updating expected outputs

If you intentionally change an example or fix a real difference between the two implementations, regenerate the canonical fixtures:

node examples/generate-expected.mjs

Then rerun both test suites:

(cd js   && npm test)
(cd rust && cargo test)

Both must pass before the change can be merged.