.PHONY: all tokenize ontology background induction induced asp forth clean demo all: background induction induced asp forth @echo "" @echo "=== PIPELINE COMPLETE ===" @echo "Check: ontology_induced.xml — what ILP proposed" @echo "Check: induction.log — rules learned" @echo "Run: make demo" # Step 1: corpus_tokens.xml already committed (from sample_corpus.txt) tokenize: @echo "[1/7] corpus_tokens.xml ready" # Step 2: background Prolog facts from ontology.xml (ZERO PYTHON) background: @echo "[2/7] Background facts via XSLT" xsltproc corpus_to_background.xslt ontology.xml > background.pl # Step 3: ILP engine generated by XSLT from ontology.xml (meta-trick) induction: @echo "[3/7] ILP engine via XSLT (XSLT generates Prolog)" xsltproc ontology_to_induction.xslt ontology.xml > ontology_induction_generated.pl # Step 4: Run ILP — learn rules + propose new members induced: @echo "[4/7] ILP Induction" swipl -s ontology_induction_generated.pl -g "halt." 2>&1 | tee induction.log @echo "--- ILP output ---" @cat induction.log # Step 5: ASP validation (clingo rejects contradictions) asp: @echo "[5/7] ASP Validation" xsltproc ontology_to_asp.xslt ontology_induced.xml > ontology_induced_facts.asp cat ontology_induced_facts.asp ontology.asp > ontology_validated.asp clingo ontology_validated.asp 0 && echo "ASP: SATISFIABLE" || echo "ASP: UNSAT — contradiction detected, rejected" # Step 6: FORTH generation (XML -> FORTH dictionary) forth: @echo "[6/7] FORTH Generation" xsltproc corpus_to_forth.xslt corpus_tokens.xml > generated_corpus_induced.fth @echo "FORTH written to generated_corpus_induced.fth" # Run the FORTH demo: @echo "[7/7] Running FORTH" gforth generated_corpus_induced.fth # Direct run of pre-generated FORTH (no xsltproc needed) demo-prebuilt: gforth generated_corpus_induced.fth clean: rm -f background.pl ontology_induction_generated.pl induction.log rm -f ontology_induced_facts.asp ontology_validated.asp rm -f generated_corpus_induced.fth # Install dependencies deps-mac: brew install libxslt swi-prolog clingo gforth deps-linux: sudo apt install -y xsltproc swi-prolog gringo gforth