Copy disabled (too large)
Download .txt
Showing preview only (29,274K chars total). Download the full file to get everything.
Repository: teacherpeterpan/Logic-LLM
Branch: main
Commit: d29f1e5e7203
Files: 855
Total size: 27.7 MB
Directory structure:
gitextract_0ng_n_ee/
├── .gitignore
├── LICENSE
├── README.md
├── baselines/
│ ├── evaluation.py
│ ├── gpt3_baseline.py
│ ├── icl_examples/
│ │ ├── AR-LSAT_CoT.txt
│ │ ├── AR-LSAT_Direct.txt
│ │ ├── FOLIO_CoT.txt
│ │ ├── FOLIO_Direct.txt
│ │ ├── LogicalDeduction_CoT.txt
│ │ ├── LogicalDeduction_Direct.txt
│ │ ├── ProntoQA_CoT.txt
│ │ ├── ProntoQA_Direct.txt
│ │ ├── ProofWriter_CoT.txt
│ │ └── ProofWriter_Direct.txt
│ └── utils.py
├── data/
│ ├── AR-LSAT/
│ │ ├── dev.json
│ │ ├── test.json
│ │ └── train.json
│ ├── FOLIO/
│ │ ├── dev.json
│ │ └── train.json
│ ├── LogicalDeduction/
│ │ ├── dev.json
│ │ └── train.json
│ ├── ProntoQA/
│ │ └── dev.json
│ └── ProofWriter/
│ ├── dev.json
│ ├── test.json
│ └── train.json
├── models/
│ ├── backup_answer_generation.py
│ ├── evaluation.py
│ ├── logic_inference.py
│ ├── logic_program.py
│ ├── prompts/
│ │ ├── AR-LSAT-long-no-grounding.txt
│ │ ├── AR-LSAT-long.txt
│ │ ├── AR-LSAT.txt
│ │ ├── FOLIO.txt
│ │ ├── LogicalDeduction.txt
│ │ ├── ProntoQA.txt
│ │ ├── ProofWriter.txt
│ │ ├── self-correct-AR-LSAT.txt
│ │ └── self-correct-FOLIO.txt
│ ├── self_refinement.py
│ ├── symbolic_solvers/
│ │ ├── Prover9/
│ │ │ ├── .gdb_history
│ │ │ ├── COPYING
│ │ │ ├── Changelog
│ │ │ ├── Makefile
│ │ │ ├── README.AMD_64
│ │ │ ├── README.first
│ │ │ ├── README.make
│ │ │ ├── README.release-reminder
│ │ │ ├── TODO/
│ │ │ │ ├── ADAM_2007_loose_ends
│ │ │ │ ├── README
│ │ │ │ ├── factor.in
│ │ │ │ ├── mace4-segv.in
│ │ │ │ └── temp
│ │ │ ├── VERSION_DATE.h
│ │ │ ├── apps.examples/
│ │ │ │ ├── BA-sheffer
│ │ │ │ ├── MOL-cand.296
│ │ │ │ ├── Makefile
│ │ │ │ ├── OL.in
│ │ │ │ ├── README
│ │ │ │ ├── backup.Jan14/
│ │ │ │ │ ├── BA-sheffer.out
│ │ │ │ │ ├── MOL-cand.238
│ │ │ │ │ ├── OL.6
│ │ │ │ │ ├── OL.8
│ │ │ │ │ ├── OL.8.out
│ │ │ │ │ ├── OL.8.upper-covers
│ │ │ │ │ ├── lattice-sax.rewritten
│ │ │ │ │ ├── meet-join-equations.out
│ │ │ │ │ ├── mjc01s-equations.out
│ │ │ │ │ ├── qg.iso3
│ │ │ │ │ └── qg.out3
│ │ │ │ ├── backup.Mar10/
│ │ │ │ │ ├── BA-sheffer.out
│ │ │ │ │ ├── MOL-cand.238
│ │ │ │ │ ├── OL.6
│ │ │ │ │ ├── OL.8
│ │ │ │ │ ├── OL.8.out
│ │ │ │ │ ├── OL.8.upper-covers
│ │ │ │ │ ├── lattice-sax.rewritten
│ │ │ │ │ ├── meet-join-equations.out
│ │ │ │ │ ├── mjc01s-equations.out
│ │ │ │ │ ├── qg.iso3
│ │ │ │ │ └── qg.out3
│ │ │ │ ├── distributivity
│ │ │ │ ├── err
│ │ │ │ ├── index.html
│ │ │ │ ├── interp.OL6
│ │ │ │ ├── lattice-sax
│ │ │ │ ├── lattice-sax.id-check
│ │ │ │ ├── lattice.rules
│ │ │ │ ├── meet-join-equations
│ │ │ │ ├── mjc01s-equations
│ │ │ │ ├── non-MOL-OML
│ │ │ │ ├── qg.in
│ │ │ │ ├── run-all
│ │ │ │ └── sed1
│ │ │ ├── apps.src/
│ │ │ │ ├── .gdb_history
│ │ │ │ ├── H65d.givens
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.directproof
│ │ │ │ ├── README.solaris
│ │ │ │ ├── TAGS
│ │ │ │ ├── awk1
│ │ │ │ ├── clausefilter.c
│ │ │ │ ├── clausetester.c
│ │ │ │ ├── complex.c
│ │ │ │ ├── demods
│ │ │ │ ├── demods2
│ │ │ │ ├── directproof.c
│ │ │ │ ├── dprofiles.c
│ │ │ │ ├── g2.model
│ │ │ │ ├── gen_trc_defs.c
│ │ │ │ ├── h1.in
│ │ │ │ ├── h1.out
│ │ │ │ ├── idfilter.c
│ │ │ │ ├── interp3.dtd
│ │ │ │ ├── interp3.xsl
│ │ │ │ ├── interpfilter.c
│ │ │ │ ├── interpformat.c
│ │ │ │ ├── isofilter.c
│ │ │ │ ├── isofilter0.c
│ │ │ │ ├── isofilter2.c
│ │ │ │ ├── latfilter.c
│ │ │ │ ├── lt.dist
│ │ │ │ ├── lt.m3
│ │ │ │ ├── miniscope.c
│ │ │ │ ├── mirror-flip.c
│ │ │ │ ├── notes
│ │ │ │ ├── old/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cdprover.c
│ │ │ │ │ ├── deny.c
│ │ │ │ │ ├── latgen.c
│ │ │ │ │ ├── modelformat.c
│ │ │ │ │ └── undeny.c
│ │ │ │ ├── olfilter.c
│ │ │ │ ├── perm3.c
│ │ │ │ ├── problems
│ │ │ │ ├── proof3.dtd
│ │ │ │ ├── proof3.xsl
│ │ │ │ ├── prooftrans.c
│ │ │ │ ├── py1
│ │ │ │ ├── renamer.c
│ │ │ │ ├── rewriter.c
│ │ │ │ ├── rewriter2.c
│ │ │ │ ├── sed.db-to-queries
│ │ │ │ ├── sed1
│ │ │ │ ├── sed2
│ │ │ │ ├── sig.py
│ │ │ │ ├── sigtest.c
│ │ │ │ ├── t1.in
│ │ │ │ ├── test-directproof/
│ │ │ │ │ ├── 3.1.direct
│ │ │ │ │ ├── 3.1.out
│ │ │ │ │ ├── 3.6.direct
│ │ │ │ │ ├── 3.6.out
│ │ │ │ │ ├── 3b.direct
│ │ │ │ │ ├── 3b.prf
│ │ │ │ │ ├── AD-gt.direct
│ │ │ │ │ ├── AD-gt.out
│ │ │ │ │ ├── bw.direct
│ │ │ │ │ ├── bw.out
│ │ │ │ │ ├── dist-short-long.direct
│ │ │ │ │ ├── dist-short-long.out
│ │ │ │ │ ├── omlsax2.direct
│ │ │ │ │ ├── omlsax2.out
│ │ │ │ │ ├── rba.direct
│ │ │ │ │ ├── rba.out
│ │ │ │ │ ├── results-on-std-examples
│ │ │ │ │ ├── temp
│ │ │ │ │ └── temp0
│ │ │ │ ├── test_clause_eval.c
│ │ │ │ ├── test_complex.c
│ │ │ │ ├── unfast.c
│ │ │ │ └── upper-covers.c
│ │ │ ├── bin/
│ │ │ │ ├── attack
│ │ │ │ ├── autosketches4
│ │ │ │ ├── clausefilter
│ │ │ │ ├── clausetester
│ │ │ │ ├── complex
│ │ │ │ ├── directproof
│ │ │ │ ├── dprofiles
│ │ │ │ ├── fof-prover9
│ │ │ │ ├── gen_trc_defs
│ │ │ │ ├── get_givens
│ │ │ │ ├── get_interps
│ │ │ │ ├── get_kept
│ │ │ │ ├── gvizify
│ │ │ │ ├── idfilter
│ │ │ │ ├── interpfilter
│ │ │ │ ├── interpformat
│ │ │ │ ├── isofilter
│ │ │ │ ├── isofilter0
│ │ │ │ ├── isofilter2
│ │ │ │ ├── ladr_to_tptp
│ │ │ │ ├── latfilter
│ │ │ │ ├── looper
│ │ │ │ ├── mace4
│ │ │ │ ├── miniscope
│ │ │ │ ├── mirror-flip
│ │ │ │ ├── newauto
│ │ │ │ ├── newsax
│ │ │ │ ├── olfilter
│ │ │ │ ├── perm3
│ │ │ │ ├── proof3fo.xsl
│ │ │ │ ├── prooftrans
│ │ │ │ ├── prover9
│ │ │ │ ├── prover9-mace4
│ │ │ │ ├── renamer
│ │ │ │ ├── rewriter
│ │ │ │ ├── sigtest
│ │ │ │ ├── test_clause_eval
│ │ │ │ ├── test_complex
│ │ │ │ ├── tptp_to_ladr
│ │ │ │ ├── unfast
│ │ │ │ └── upper-covers
│ │ │ ├── bob/
│ │ │ │ ├── ChangelogBV
│ │ │ │ ├── ioutil.c
│ │ │ │ ├── ioutil.h
│ │ │ │ ├── just.c
│ │ │ │ └── prooftrans.c
│ │ │ ├── ladr/
│ │ │ │ ├── Changelog.old
│ │ │ │ ├── Makefile
│ │ │ │ ├── Makefile~
│ │ │ │ ├── README.ac-redundancy
│ │ │ │ ├── README.char-types
│ │ │ │ ├── README.kbo
│ │ │ │ ├── README.termorder
│ │ │ │ ├── TAGS
│ │ │ │ ├── a.out
│ │ │ │ ├── ac_redun.c
│ │ │ │ ├── ac_redun.h
│ │ │ │ ├── ac_redun.o
│ │ │ │ ├── accanon.c
│ │ │ │ ├── accanon.h
│ │ │ │ ├── accanon.o
│ │ │ │ ├── attrib.c
│ │ │ │ ├── attrib.h
│ │ │ │ ├── attrib.o
│ │ │ │ ├── avltree.c
│ │ │ │ ├── avltree.h
│ │ │ │ ├── avltree.o
│ │ │ │ ├── backdemod.c
│ │ │ │ ├── backdemod.h
│ │ │ │ ├── backdemod.o
│ │ │ │ ├── banner.c
│ │ │ │ ├── banner.h
│ │ │ │ ├── banner.o
│ │ │ │ ├── basic.c
│ │ │ │ ├── basic.h
│ │ │ │ ├── basic.o
│ │ │ │ ├── btm.c
│ │ │ │ ├── btm.h
│ │ │ │ ├── btm.o
│ │ │ │ ├── btu.c
│ │ │ │ ├── btu.h
│ │ │ │ ├── btu.o
│ │ │ │ ├── clash.c
│ │ │ │ ├── clash.h
│ │ │ │ ├── clash.o
│ │ │ │ ├── clause_eval.c
│ │ │ │ ├── clause_eval.h
│ │ │ │ ├── clause_eval.o
│ │ │ │ ├── clause_misc.c
│ │ │ │ ├── clause_misc.h
│ │ │ │ ├── clause_misc.o
│ │ │ │ ├── clauseid.c
│ │ │ │ ├── clauseid.h
│ │ │ │ ├── clauseid.o
│ │ │ │ ├── clauses.c
│ │ │ │ ├── clauses.c~
│ │ │ │ ├── clauses.h
│ │ │ │ ├── clauses.h.bak
│ │ │ │ ├── clauses.o
│ │ │ │ ├── clausify.c
│ │ │ │ ├── clausify.h
│ │ │ │ ├── clausify.o
│ │ │ │ ├── clist.c
│ │ │ │ ├── clist.h
│ │ │ │ ├── clist.o
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── clock.o
│ │ │ │ ├── cnf.c
│ │ │ │ ├── cnf.h
│ │ │ │ ├── cnf.o
│ │ │ │ ├── compile
│ │ │ │ ├── complex.c
│ │ │ │ ├── complex.h
│ │ │ │ ├── complex.o
│ │ │ │ ├── compress.c
│ │ │ │ ├── compress.h
│ │ │ │ ├── compress.o
│ │ │ │ ├── cycle
│ │ │ │ ├── definitions.c
│ │ │ │ ├── definitions.h
│ │ │ │ ├── definitions.o
│ │ │ │ ├── demod.c
│ │ │ │ ├── demod.h
│ │ │ │ ├── demod.o
│ │ │ │ ├── di_tree.c
│ │ │ │ ├── di_tree.h
│ │ │ │ ├── di_tree.o
│ │ │ │ ├── dioph.c
│ │ │ │ ├── dioph.h
│ │ │ │ ├── dioph.o
│ │ │ │ ├── discrim.c
│ │ │ │ ├── discrim.h
│ │ │ │ ├── discrim.o
│ │ │ │ ├── discrimb.c
│ │ │ │ ├── discrimb.h
│ │ │ │ ├── discrimb.o
│ │ │ │ ├── discrimw.c
│ │ │ │ ├── discrimw.h
│ │ │ │ ├── discrimw.o
│ │ │ │ ├── dollar.c
│ │ │ │ ├── dollar.c.save
│ │ │ │ ├── dollar.h
│ │ │ │ ├── dollar.o
│ │ │ │ ├── dots
│ │ │ │ ├── error
│ │ │ │ ├── fastparse.c
│ │ │ │ ├── fastparse.h
│ │ │ │ ├── fastparse.o
│ │ │ │ ├── fatal.c
│ │ │ │ ├── fatal.h
│ │ │ │ ├── fatal.o
│ │ │ │ ├── features.c
│ │ │ │ ├── features.h
│ │ │ │ ├── features.o
│ │ │ │ ├── flatdemod.c
│ │ │ │ ├── flatdemod.h
│ │ │ │ ├── flatdemod.o
│ │ │ │ ├── flatterm.c
│ │ │ │ ├── flatterm.h
│ │ │ │ ├── flatterm.o
│ │ │ │ ├── formula.c
│ │ │ │ ├── formula.c.work
│ │ │ │ ├── formula.h
│ │ │ │ ├── formula.o
│ │ │ │ ├── fpa.c
│ │ │ │ ├── fpa.h
│ │ │ │ ├── fpa.o
│ │ │ │ ├── fpalist.c
│ │ │ │ ├── fpalist.h
│ │ │ │ ├── fpalist.o
│ │ │ │ ├── glist.c
│ │ │ │ ├── glist.h
│ │ │ │ ├── glist.o
│ │ │ │ ├── hash.c
│ │ │ │ ├── hash.h
│ │ │ │ ├── hash.o
│ │ │ │ ├── header.h
│ │ │ │ ├── hints.c
│ │ │ │ ├── hints.h
│ │ │ │ ├── hints.o
│ │ │ │ ├── html/
│ │ │ │ │ ├── ac_redun.html
│ │ │ │ │ ├── accanon.html
│ │ │ │ │ ├── attrib.html
│ │ │ │ │ ├── avltree.html
│ │ │ │ │ ├── backdemod.html
│ │ │ │ │ ├── banner.html
│ │ │ │ │ ├── basic.html
│ │ │ │ │ ├── btm.html
│ │ │ │ │ ├── btu.html
│ │ │ │ │ ├── clash.html
│ │ │ │ │ ├── clause_eval.html
│ │ │ │ │ ├── clause_misc.html
│ │ │ │ │ ├── clauseid.html
│ │ │ │ │ ├── clauses.html
│ │ │ │ │ ├── clausify.html
│ │ │ │ │ ├── clist.html
│ │ │ │ │ ├── clock.html
│ │ │ │ │ ├── cnf.html
│ │ │ │ │ ├── compress.html
│ │ │ │ │ ├── definitions.html
│ │ │ │ │ ├── demod.html
│ │ │ │ │ ├── di_tree.html
│ │ │ │ │ ├── dioph.html
│ │ │ │ │ ├── discrim.html
│ │ │ │ │ ├── discrimb.html
│ │ │ │ │ ├── discrimw.html
│ │ │ │ │ ├── fastparse.html
│ │ │ │ │ ├── fatal.html
│ │ │ │ │ ├── features.html
│ │ │ │ │ ├── flatdemod.html
│ │ │ │ │ ├── flatterm.html
│ │ │ │ │ ├── formula.html
│ │ │ │ │ ├── fpa.html
│ │ │ │ │ ├── fpalist.html
│ │ │ │ │ ├── glist.html
│ │ │ │ │ ├── hash.html
│ │ │ │ │ ├── hints.html
│ │ │ │ │ ├── ibuffer.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── int_code.html
│ │ │ │ │ ├── interp.html
│ │ │ │ │ ├── ioutil.html
│ │ │ │ │ ├── ivy.html
│ │ │ │ │ ├── just.html
│ │ │ │ │ ├── lindex.html
│ │ │ │ │ ├── listterm.html
│ │ │ │ │ ├── literals.html
│ │ │ │ │ ├── maximal.html
│ │ │ │ │ ├── memory.html
│ │ │ │ │ ├── mindex.html
│ │ │ │ │ ├── multiset.html
│ │ │ │ │ ├── nonport.html
│ │ │ │ │ ├── options.html
│ │ │ │ │ ├── order.html
│ │ │ │ │ ├── paramod.html
│ │ │ │ │ ├── parautil.html
│ │ │ │ │ ├── parse.html
│ │ │ │ │ ├── pindex.html
│ │ │ │ │ ├── random.html
│ │ │ │ │ ├── resolve.html
│ │ │ │ │ ├── sos.html
│ │ │ │ │ ├── std_options.html
│ │ │ │ │ ├── strbuf.html
│ │ │ │ │ ├── string.html
│ │ │ │ │ ├── subsume.html
│ │ │ │ │ ├── symbols.html
│ │ │ │ │ ├── term.html
│ │ │ │ │ ├── termflag.html
│ │ │ │ │ ├── termorder.html
│ │ │ │ │ ├── tlist.html
│ │ │ │ │ ├── top_input.html
│ │ │ │ │ ├── topform.html
│ │ │ │ │ ├── tptp_trans.html
│ │ │ │ │ ├── unify.html
│ │ │ │ │ ├── weight.html
│ │ │ │ │ └── xproofs.html
│ │ │ │ ├── ibuffer.c
│ │ │ │ ├── ibuffer.h
│ │ │ │ ├── ibuffer.o
│ │ │ │ ├── index.h
│ │ │ │ ├── index.html.master
│ │ │ │ ├── int_code.c
│ │ │ │ ├── int_code.c~
│ │ │ │ ├── int_code.h
│ │ │ │ ├── int_code.o
│ │ │ │ ├── interp.c
│ │ │ │ ├── interp.h
│ │ │ │ ├── interp.o
│ │ │ │ ├── ioutil.c
│ │ │ │ ├── ioutil.h
│ │ │ │ ├── ioutil.o
│ │ │ │ ├── ivy.c
│ │ │ │ ├── ivy.h
│ │ │ │ ├── ivy.o
│ │ │ │ ├── just.c
│ │ │ │ ├── just.h
│ │ │ │ ├── just.o
│ │ │ │ ├── kol.pl
│ │ │ │ ├── kol.py
│ │ │ │ ├── ladr.h
│ │ │ │ ├── libladr.a
│ │ │ │ ├── lindex.c
│ │ │ │ ├── lindex.h
│ │ │ │ ├── lindex.o
│ │ │ │ ├── listterm.c
│ │ │ │ ├── listterm.h
│ │ │ │ ├── listterm.o
│ │ │ │ ├── literals.c
│ │ │ │ ├── literals.h
│ │ │ │ ├── literals.o
│ │ │ │ ├── maximal.c
│ │ │ │ ├── maximal.h
│ │ │ │ ├── maximal.o
│ │ │ │ ├── memory.c
│ │ │ │ ├── memory.c~
│ │ │ │ ├── memory.h
│ │ │ │ ├── memory.o
│ │ │ │ ├── mindex.c
│ │ │ │ ├── mindex.h
│ │ │ │ ├── mindex.o
│ │ │ │ ├── multiset.c
│ │ │ │ ├── multiset.h
│ │ │ │ ├── multiset.o
│ │ │ │ ├── nonport.c
│ │ │ │ ├── nonport.h
│ │ │ │ ├── nonport.o
│ │ │ │ ├── options.c
│ │ │ │ ├── options.h
│ │ │ │ ├── options.o
│ │ │ │ ├── order.c
│ │ │ │ ├── order.h
│ │ │ │ ├── order.o
│ │ │ │ ├── paramod.c
│ │ │ │ ├── paramod.h
│ │ │ │ ├── paramod.o
│ │ │ │ ├── parautil.c
│ │ │ │ ├── parautil.h
│ │ │ │ ├── parautil.o
│ │ │ │ ├── parse.c
│ │ │ │ ├── parse.h
│ │ │ │ ├── parse.o
│ │ │ │ ├── pindex.c
│ │ │ │ ├── pindex.h
│ │ │ │ ├── pindex.o
│ │ │ │ ├── pub
│ │ │ │ ├── random.c
│ │ │ │ ├── random.h
│ │ │ │ ├── random.o
│ │ │ │ ├── resolve.c
│ │ │ │ ├── resolve.h
│ │ │ │ ├── resolve.o
│ │ │ │ ├── save/
│ │ │ │ │ ├── attrib.c
│ │ │ │ │ ├── btm.c
│ │ │ │ │ ├── btu.c
│ │ │ │ │ ├── call_weight.c
│ │ │ │ │ ├── clash.c
│ │ │ │ │ ├── clause.c
│ │ │ │ │ ├── clist.c
│ │ │ │ │ ├── cnf.c.alarm
│ │ │ │ │ ├── commands.c
│ │ │ │ │ ├── commands.h
│ │ │ │ │ ├── commands2.c
│ │ │ │ │ ├── detach.c
│ │ │ │ │ ├── detach.h
│ │ │ │ │ ├── detach.h.bak
│ │ │ │ │ ├── detach.o
│ │ │ │ │ ├── discrim.c
│ │ │ │ │ ├── features.c
│ │ │ │ │ ├── formula.c
│ │ │ │ │ ├── fpa.c
│ │ │ │ │ ├── fpalist.c
│ │ │ │ │ ├── fsyms_clist
│ │ │ │ │ ├── glist.c
│ │ │ │ │ ├── goals_to_denials
│ │ │ │ │ ├── hash.c
│ │ │ │ │ ├── interp.c
│ │ │ │ │ ├── interp_remove_skolems
│ │ │ │ │ ├── just.c
│ │ │ │ │ ├── lex_compare
│ │ │ │ │ ├── lindex.c
│ │ │ │ │ ├── mindex.c
│ │ │ │ │ ├── options.c
│ │ │ │ │ ├── parse.c
│ │ │ │ │ ├── pindex.c
│ │ │ │ │ ├── printing
│ │ │ │ │ ├── read_tptp_file.c
│ │ │ │ │ ├── sos.c
│ │ │ │ │ ├── sos.c.old
│ │ │ │ │ ├── sos.h
│ │ │ │ │ ├── sos.h~
│ │ │ │ │ ├── str_toupper
│ │ │ │ │ ├── strbuf.c
│ │ │ │ │ ├── term.c
│ │ │ │ │ ├── unify.c
│ │ │ │ │ ├── weight1.c
│ │ │ │ │ └── weight1.h
│ │ │ │ ├── sed.1
│ │ │ │ ├── sed.symbols
│ │ │ │ ├── sed1
│ │ │ │ ├── sed2
│ │ │ │ ├── sed3
│ │ │ │ ├── std_options.c
│ │ │ │ ├── std_options.h
│ │ │ │ ├── std_options.o
│ │ │ │ ├── strbuf.c
│ │ │ │ ├── strbuf.h
│ │ │ │ ├── strbuf.o
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ ├── string.o
│ │ │ │ ├── subsume.c
│ │ │ │ ├── subsume.h
│ │ │ │ ├── subsume.o
│ │ │ │ ├── symbols.c
│ │ │ │ ├── symbols.c~
│ │ │ │ ├── symbols.h
│ │ │ │ ├── symbols.o
│ │ │ │ ├── t1.in
│ │ │ │ ├── temp
│ │ │ │ ├── temp25
│ │ │ │ ├── term.c
│ │ │ │ ├── term.h
│ │ │ │ ├── term.o
│ │ │ │ ├── termflag.c
│ │ │ │ ├── termflag.h
│ │ │ │ ├── termflag.o
│ │ │ │ ├── termorder.c
│ │ │ │ ├── termorder.h
│ │ │ │ ├── termorder.o
│ │ │ │ ├── test.c
│ │ │ │ ├── tlist.c
│ │ │ │ ├── tlist.h
│ │ │ │ ├── tlist.o
│ │ │ │ ├── top_input.c
│ │ │ │ ├── top_input.h
│ │ │ │ ├── top_input.o
│ │ │ │ ├── topform.c
│ │ │ │ ├── topform.h
│ │ │ │ ├── topform.o
│ │ │ │ ├── tptp_trans.c
│ │ │ │ ├── tptp_trans.c.work
│ │ │ │ ├── tptp_trans.c~
│ │ │ │ ├── tptp_trans.h
│ │ │ │ ├── tptp_trans.o
│ │ │ │ ├── unify.c
│ │ │ │ ├── unify.h
│ │ │ │ ├── unify.o
│ │ │ │ ├── util/
│ │ │ │ │ ├── backup
│ │ │ │ │ ├── doc5
│ │ │ │ │ ├── init-package
│ │ │ │ │ ├── init-types
│ │ │ │ │ ├── make_dep
│ │ │ │ │ ├── make_htmls
│ │ │ │ │ ├── make_protos
│ │ │ │ │ ├── new-type
│ │ │ │ │ ├── options-for-gui.py
│ │ │ │ │ ├── options-for-gui.py~
│ │ │ │ │ ├── proto
│ │ │ │ │ ├── temp
│ │ │ │ │ └── to-html
│ │ │ │ ├── weight.c
│ │ │ │ ├── weight.h
│ │ │ │ ├── weight.o
│ │ │ │ ├── weight2.c
│ │ │ │ ├── weight2.h
│ │ │ │ ├── weight2.o
│ │ │ │ ├── weighttest
│ │ │ │ ├── work
│ │ │ │ ├── xproofs.c
│ │ │ │ ├── xproofs.h
│ │ │ │ └── xproofs.o
│ │ │ ├── libtoolize.patch
│ │ │ ├── mace4.examples/
│ │ │ │ ├── README
│ │ │ │ ├── group2.in
│ │ │ │ └── rw1.in
│ │ │ ├── mace4.src/
│ │ │ │ ├── Changelog.old
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.memory
│ │ │ │ ├── TAGS
│ │ │ │ ├── arithmetic.c
│ │ │ │ ├── arithmetic.h
│ │ │ │ ├── arithmetic.o
│ │ │ │ ├── commandline.c
│ │ │ │ ├── commandline.o
│ │ │ │ ├── estack.c
│ │ │ │ ├── estack.h
│ │ │ │ ├── estack.o
│ │ │ │ ├── ground.c
│ │ │ │ ├── ground.h
│ │ │ │ ├── ground.o
│ │ │ │ ├── h1.in
│ │ │ │ ├── h1.out
│ │ │ │ ├── help
│ │ │ │ ├── help2
│ │ │ │ ├── index.html
│ │ │ │ ├── libmace4.a
│ │ │ │ ├── mace4.c
│ │ │ │ ├── mace4.o
│ │ │ │ ├── msearch.c
│ │ │ │ ├── msearch.c~
│ │ │ │ ├── msearch.h
│ │ │ │ ├── msearch.o
│ │ │ │ ├── mstate.c
│ │ │ │ ├── mstate.h
│ │ │ │ ├── mstate.o
│ │ │ │ ├── negprop.c
│ │ │ │ ├── negprop.o
│ │ │ │ ├── negpropindex.c
│ │ │ │ ├── negpropindex.o
│ │ │ │ ├── ordercells.c
│ │ │ │ ├── ordercells.o
│ │ │ │ ├── print.c
│ │ │ │ ├── print.o
│ │ │ │ ├── propagate.c
│ │ │ │ ├── propagate.h
│ │ │ │ ├── propagate.o
│ │ │ │ ├── pub
│ │ │ │ ├── puzzles/
│ │ │ │ │ ├── f1.in
│ │ │ │ │ ├── f1.in~
│ │ │ │ │ ├── f1.out
│ │ │ │ │ ├── kenken6.in
│ │ │ │ │ ├── kenken6.out
│ │ │ │ │ ├── queens1.in
│ │ │ │ │ ├── queens1.out
│ │ │ │ │ ├── queens2.in
│ │ │ │ │ ├── queens2.out
│ │ │ │ │ ├── send-money.in
│ │ │ │ │ ├── send-money.out
│ │ │ │ │ ├── sudoku.in
│ │ │ │ │ ├── sudoku.out
│ │ │ │ │ ├── temp
│ │ │ │ │ ├── zebra1.in
│ │ │ │ │ ├── zebra1.out
│ │ │ │ │ ├── zebra2.in
│ │ │ │ │ └── zebra2.out
│ │ │ │ ├── r1.in
│ │ │ │ ├── save/
│ │ │ │ │ ├── raw-cooked
│ │ │ │ │ └── raw-cooked~
│ │ │ │ ├── select.c
│ │ │ │ ├── select.o
│ │ │ │ ├── syms.c
│ │ │ │ ├── syms.h
│ │ │ │ ├── syms.o
│ │ │ │ ├── t1.in
│ │ │ │ ├── temp
│ │ │ │ ├── util.c
│ │ │ │ └── util.o
│ │ │ ├── manpages/
│ │ │ │ ├── mace4.1
│ │ │ │ └── prover9.1
│ │ │ ├── prover9.examples/
│ │ │ │ ├── README
│ │ │ │ ├── x2.hints
│ │ │ │ ├── x2.in
│ │ │ │ └── x2.out
│ │ │ ├── provers.src/
│ │ │ │ ├── .gdb_history
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.actions
│ │ │ │ ├── README.doc
│ │ │ │ ├── README.new-sos-limit
│ │ │ │ ├── README.parts
│ │ │ │ ├── README.process
│ │ │ │ ├── README.sos
│ │ │ │ ├── README.symbol_order
│ │ │ │ ├── README.white-black
│ │ │ │ ├── README.wired-in
│ │ │ │ ├── TAGS
│ │ │ │ ├── actions.c
│ │ │ │ ├── actions.h
│ │ │ │ ├── autosketches.examples/
│ │ │ │ │ ├── BA.in
│ │ │ │ │ ├── BA.out
│ │ │ │ │ ├── README
│ │ │ │ │ ├── ec.in
│ │ │ │ │ ├── ec.out
│ │ │ │ │ ├── err
│ │ │ │ │ ├── go
│ │ │ │ │ ├── n3.in
│ │ │ │ │ ├── n3.out
│ │ │ │ │ ├── newauto.c.from_bob
│ │ │ │ │ ├── newsax.c.from_bob
│ │ │ │ │ ├── xhn.in
│ │ │ │ │ └── xhn.out
│ │ │ │ ├── autosketches4
│ │ │ │ ├── autosketches4.c
│ │ │ │ ├── demodulate.c
│ │ │ │ ├── demodulate.h
│ │ │ │ ├── fof-prover9
│ │ │ │ ├── fof-prover9.c
│ │ │ │ ├── foffer.c
│ │ │ │ ├── foffer.h
│ │ │ │ ├── forward_subsume.c
│ │ │ │ ├── forward_subsume.h
│ │ │ │ ├── giv_select.c
│ │ │ │ ├── giv_select.h
│ │ │ │ ├── index_lits.c
│ │ │ │ ├── index_lits.h
│ │ │ │ ├── iterate4.c
│ │ │ │ ├── ladr_to_tptp
│ │ │ │ ├── ladr_to_tptp.c
│ │ │ │ ├── mprover.c
│ │ │ │ ├── newauto
│ │ │ │ ├── newauto.c
│ │ │ │ ├── newsax
│ │ │ │ ├── newsax.c
│ │ │ │ ├── options
│ │ │ │ ├── pred_elim.c
│ │ │ │ ├── pred_elim.h
│ │ │ │ ├── prover9
│ │ │ │ ├── prover9.c
│ │ │ │ ├── provers.c
│ │ │ │ ├── provers.h
│ │ │ │ ├── pub
│ │ │ │ ├── save/
│ │ │ │ │ ├── attributes.c
│ │ │ │ │ ├── attributes.h
│ │ │ │ │ ├── auto.c
│ │ │ │ │ ├── auto.h
│ │ │ │ │ ├── cgrep.c
│ │ │ │ │ ├── control_sos.c
│ │ │ │ │ ├── control_sos.h
│ │ │ │ │ ├── definitions.c
│ │ │ │ │ ├── definitions.h
│ │ │ │ │ ├── fork_and_wait
│ │ │ │ │ ├── lits_index.c
│ │ │ │ │ ├── lits_index.h
│ │ │ │ │ ├── loop2.c
│ │ │ │ │ ├── picker.c
│ │ │ │ │ ├── picker.h
│ │ │ │ │ ├── ploop4.c
│ │ │ │ │ ├── poptions.c
│ │ │ │ │ ├── poptions.h
│ │ │ │ │ ├── prover9-simple.c
│ │ │ │ │ └── prover9.h
│ │ │ │ ├── search-structures.h
│ │ │ │ ├── search.c
│ │ │ │ ├── search.h
│ │ │ │ ├── semantics.c
│ │ │ │ ├── semantics.h
│ │ │ │ ├── test.p
│ │ │ │ ├── tptp_to_ladr
│ │ │ │ ├── tptp_to_ladr.c
│ │ │ │ ├── unfold.c
│ │ │ │ ├── unfold.h
│ │ │ │ ├── utilities.c
│ │ │ │ ├── utilities.h
│ │ │ │ ├── white_black.c
│ │ │ │ └── white_black.h
│ │ │ ├── rev.py
│ │ │ ├── sed.gnu-blurb
│ │ │ ├── test.src/
│ │ │ │ ├── Makefile
│ │ │ │ ├── TAGS
│ │ │ │ ├── avltest
│ │ │ │ ├── avltest.c
│ │ │ │ ├── t1
│ │ │ │ ├── t2
│ │ │ │ ├── t2.in
│ │ │ │ ├── tptp_test
│ │ │ │ └── tptp_test.c
│ │ │ ├── utilities/
│ │ │ │ ├── attack
│ │ │ │ ├── get_givens
│ │ │ │ ├── get_interps
│ │ │ │ ├── get_kept
│ │ │ │ ├── gvizify
│ │ │ │ ├── looper
│ │ │ │ ├── proof3fo.xsl
│ │ │ │ └── prover9-mace4
│ │ │ └── utilities-old/
│ │ │ ├── attack2
│ │ │ ├── iterate
│ │ │ ├── looper.pl
│ │ │ ├── oproofs_to_goals
│ │ │ ├── oproofs_to_hints
│ │ │ ├── proofs_to_goals
│ │ │ └── proofs_to_hints
│ │ ├── csp_solver/
│ │ │ ├── __init__.py
│ │ │ └── csp_solver.py
│ │ ├── fol_solver/
│ │ │ ├── Formula.py
│ │ │ ├── __init__.py
│ │ │ ├── fol_parser.py
│ │ │ ├── fol_prover9_parser.py
│ │ │ └── prover9_solver.py
│ │ ├── pyke_solver/
│ │ │ ├── __init__.py
│ │ │ └── pyke_solver.py
│ │ └── z3_solver/
│ │ ├── __init__.py
│ │ ├── code_translator.py
│ │ ├── sat_problem_solver.py
│ │ └── z3_solver_test.py
│ └── utils.py
├── outputs/
│ └── logic_programs/
│ ├── AR-LSAT_dev_gpt-3.5-turbo.json
│ ├── AR-LSAT_dev_gpt-4.json
│ ├── AR-LSAT_dev_text-davinci-003.json
│ ├── FOLIO_dev_gpt-3.5-turbo.json
│ ├── FOLIO_dev_gpt-4.json
│ ├── FOLIO_dev_text-davinci-003.json
│ ├── LogicalDeduction_dev_gpt-3.5-turbo.json
│ ├── LogicalDeduction_dev_gpt-4.json
│ ├── LogicalDeduction_dev_text-davinci-003.json
│ ├── ProntoQA_dev_gpt-3.5-turbo.json
│ ├── ProntoQA_dev_gpt-4.json
│ ├── ProntoQA_dev_text-davinci-003.json
│ ├── ProofWriter_dev_gpt-3.5-turbo.json
│ ├── ProofWriter_dev_gpt-4.json
│ └── ProofWriter_dev_text-davinci-003.json
├── requirements.txt
└── solver_examples/
├── folio_prover9.py
└── prover9_example.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
debug/
backupcodes/
outputs/logic_inference/*
outputs/self_refine
models/symbolic_solvers/swipl
models/__pycache__/
*.sh
baselines/results/
models/symbolic_solvers/pyke_solver/.cache_program
models/symbolic_solvers/z3_solver/.cache_program
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023 Liangming Pan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Logic-LM
Data and Codes for ["LOGIC-LM: Empowering Large Language Models with Symbolic Solvers for Faithful Logical Reasoning"](https://arxiv.org/abs/2305.12295) (Findings of EMNLP 2023).
Authors: **Liangming Pan, Alon Albalak, Xinyi Wang, William Yang Wang**.
[NLP Group](http://nlp.cs.ucsb.edu/), University of California, Santa Barbara
## Introduction
Large Language Models (LLMs) have shown human-like reasoning abilities but still struggle with complex logical problems. This paper introduces a novel framework, **Logic-LM**, which integrates LLMs with symbolic solvers to improve logical problem-solving. Our method first utilizes LLMs to translate a natural language problem into a symbolic formulation. Afterward, a deterministic symbolic solver performs inference on the formulated problem. We also introduce a self-refinement module, which utilizes the symbolic solver's error messages to revise symbolic formalizations. We demonstrate Logic-LM's effectiveness on five logical reasoning datasets: ProofWriter, PrOntoQA, FOLIO, LogicalDeduction, and AR-LSAT. On average, Logic-LM achieves a significant performance boost of 39.2% over using LLM alone with standard prompting and 18.4% over LLM with chain-of-thought prompting. Our findings suggest that Logic-LM, by combining LLMs with symbolic logic, offers a promising avenue for faithful logical reasoning.

First, install all the required packages:
```bash
pip install -r requirements.txt
```
## Datasets
The datasets we used are preprocessed and stored in the `./data` folder. We evaluate on the following datasets:
- [ProntoQA](https://github.com/asaparov/prontoqa): Deductive resoning dataset. We use the 5-hop subset of the *fictional characters* version, consisting of 500 testing examples.
- [ProofWriter](https://allenai.org/data/proofwriter): Deductive resoning dataset. We use the depth-5 subset of the OWA version. To reduce overall experimentation costs, we randomly sample 600 examples in the test set and ensure a balanced label distribution.
- [FOLIO](https://github.com/Yale-LILY/FOLIO): First-Order Logic reasoning dataset. We use the entire FOLIO test set for evaluation, consisting of 204 examples.
- [LogicalDeduction](https://github.com/google/BIG-bench/tree/main/bigbench/benchmark_tasks/logical_deduction): Constraint Satisfaction Problems (CSPs). We use the full test set consisting of 300 examples.
- [AR-LSAT](https://github.com/zhongwanjun/AR-LSAT): Analytical Reasoning (AR) problems, containing all analytical logic reasoning questions from the Law School Admission Test from 1991 to 2016. We use the test set which has 230 multiple-choice questions.
## Baselines
To replicate the **Standard-LM (Direct)** and the **Chain-of-Thought (CoT)** baselines, please run the following commands:
```bash
cd ./baselines
python gpt3_baseline.py \
--api_key "Your OpenAI API Key" \
--model_name "Model Name [text-davinci-003 | gpt-4]" \
--dataset_name "Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction | AR-LSAT]" \
--split dev \
--mode "Baseline [Direct | CoT]" \
--max_new_tokens "16 for Direct; 1024 for CoT" \
```
The results will be saved in `./baselines/results`. To evaluate the results, please run the following commands:
```bash
python evaluate.py \
--dataset_name "Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction | AR-LSAT]" \
--model_name "Model Name [text-davinci-003 | gpt-4]" \
--split dev \
--mode "Baseline [Direct | CoT]" \
```
## Logic Program Generation
To generate logic programs for logical reasoning problems in each dataset, at the root directory, run the following commands:
```bash
python models/logic_program.py \
--api_key "Your OpenAI API Key" \
--dataset_name "Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction | AR-LSAT]" \
--split dev \
--model_name "Model Name [text-davinci-003 | gpt-4]" \
--max_new_tokens 1024 \
```
The generated logic programs will be saved in `outputs/logic_programs`. You can also reuse the logic programs we generated in `./outputs/logic_programs`.
## Logic Inference with Symbolic Solver
After generating logic programs, we can perform inference with symbolic solvers. At the root directory, run the following commands:
```bash
DATASET="Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction | AR-LSAT]"
SPLIT="Dataset Split [dev | test]"
MODEL="The logic programs are generated by which model? [text-davinci-003 | gpt-4]"
BACKUP="The random backup answer (random) or CoT-Logic collabration mode (LLM)"
python models/logic_inference.py \
--model_name ${MODEL} \
--dataset_name ${DATASET} \
--split ${SPLIT} \
--backup_strategy ${BACKUP} \
--backup_LLM_result_path ./baselines/results/CoT_${DATASET}_${SPLIT}_${MODEL}.json
```
The logic reasoning results will be saved in `outputs/logic_inferences`.
Backup Strategies:
- `random`: If the generated logic program cannot be executed by the symbolic solver, we will use random guess as the prediction.
- `LLM`: If the generated logic program cannot be executed by the symbolic solver, we will back up to using CoT to generate the prediction. To run this mode, you need to have the corresponding baseline LLM results stored in `./baselines/results`. To make the inference more efficient, the model will just load the baseline LLM results and use them as the prediction if the symbolic solver fails.
## Evaluation
To evaluate the logic reasoning results, please run the following commands:
```bash
python models/evaluation.py \
--dataset_name "Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction]" \
--model_name "The logic programs are generated by which model? [text-davinci-003 | gpt-4]" \
--split dev \
--backup "The basic mode (random) or CoT-Logic collabration mode (LLM)"
```
## Self-Refinement
After generating the logic programs without self-refinement, run the following commands for self-refinement:
```bash
DATASET="Dataset Name [ProntoQA | ProofWriter | FOLIO | LogicalDeduction | AR-LSAT]"
SPLIT="Dataset Split [dev | test]"
MODEL="The logic programs are generated by which model? [text-davinci-003 | gpt-4]"
BACKUP="The random backup answer (random) or CoT-Logic collabration mode (LLM)"
python models/self_refinement.py \
--model_name ${MODEL} \
--dataset_name ${DATASET} \
--split ${SPLIT} \
--backup_strategy ${BACKUP} \
--backup_LLM_result_path ./baselines/results/CoT_${DATASET}_${SPLIT}_${MODEL}.json
--api_key "Your OpenAI API Key" \
--maximum_rounds 3 \
```
The self-refinement results will be saved in `outputs/logic_inferences`.
## Reference
Please cite the paper in the following format if you use this dataset during your research.
```
@inproceedings{PanLogicLM23,
author = {Liangming Pan and
Alon Albalak and
Xinyi Wang and
William Yang Wang},
title = {{Logic-LM:} Empowering Large Language Models with Symbolic Solvers for Faithful Logical Reasoning},
booktitle = {Findings of the 2023 Conference on Empirical Methods in Natural Language Processing (Findings of EMNLP)},
address = {Singapore},
year = {2023},
month = {Dec},
url = {https://arxiv.org/abs/2305.12295}
}
```
## Credit
The codes for the SMT solver are modified from [SatLM](https://github.com/xiye17/sat-lm).
## Q&A
If you encounter any problem, please either directly contact the [Liangming Pan](liangmingpan@ucsb.edu) or leave an issue in the github repo.
================================================
FILE: baselines/evaluation.py
================================================
import re
import json
from tqdm import tqdm
import random
import os
import argparse
def extract_number(string):
# Remove all characters except digits, decimal point and negative sign
try:
num_string = re.sub(r'[^\d.-]', '', string)
num_string = num_string.replace('$', '')
return float(num_string)
except:
try:
return float(random.randint(0, 100))
# return float(w2n.word_to_num(string))
except:
# print('Error: ', string)
print('Error')
return float(random.randint(0, 100))
def argmax(iterable):
return max(enumerate(iterable), key=lambda x: x[1])[0]
# these functions are heavily influenced by the HF squad_metrics.py script
def normalize_text(s):
"""Removing articles and punctuation, and standardizing whitespace are all typical text processing steps."""
import string, re
def remove_articles(text):
regex = re.compile(r"\b(a|an|the)\b", re.UNICODE)
return re.sub(regex, " ", text)
def white_space_fix(text):
return " ".join(text.split())
def remove_punc(text):
exclude = set(string.punctuation)
return "".join(ch for ch in text if ch not in exclude)
def lower(text):
return text.lower()
return white_space_fix(remove_articles(remove_punc(lower(s))))
def compute_exact_match(prediction, truth):
return int(normalize_text(prediction) == normalize_text(truth))
# return prediction == truth
def compute_f1(prediction, truth):
pred_tokens = normalize_text(prediction).split()
truth_tokens = normalize_text(truth).split()
# if either the prediction or the truth is no-answer then f1 = 1 if they agree, 0 otherwise
if len(pred_tokens) == 0 or len(truth_tokens) == 0:
return int(pred_tokens == truth_tokens)
common_tokens = set(pred_tokens) & set(truth_tokens)
# if there are no common tokens then f1 = 0
if len(common_tokens) == 0:
return 0
prec = len(common_tokens) / len(pred_tokens)
rec = len(common_tokens) / len(truth_tokens)
return 2 * (prec * rec) / (prec + rec)
def evaluate_sample(prediction, gold_answers):
em_score = max((compute_exact_match(prediction, answer)) for answer in gold_answers)
f1_score = max((compute_f1(prediction, answer)) for answer in gold_answers)
return em_score, f1_score
def get_choice(answer_str):
choices = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'A)', 'B)', 'C)', 'D)', 'E)', 'F)', 'G)', 'H)',
'A.', 'B.', 'C.', 'D.', 'E.', 'F.', 'G.', 'H.']
for c in choices:
if answer_str.startswith(c):
return c.replace(')', '')
return None
def evaluate_QA(result_file):
with open(result_file, 'r') as f:
QA_results = json.load(f)
total_em = 0.0
total_f1 = 0.0
count = 0
for sample in QA_results:
gold_answer = sample['answer'].replace('(', '').replace(')', '').strip()
answer_str = sample['predicted_answer'].strip()
prediction = get_choice(answer_str)
indicators = ['the correct option is', 'the correct answer is',
'The correct answer is', 'The correct option is',
'Thus, the answer is']
if prediction is None:
for indicator in indicators:
if answer_str.find(indicator)>=0:
answer_str = answer_str.split(indicator)[1].strip()
prediction = get_choice(answer_str)
break
if prediction is None:
print(answer_str)
print(f"prediction: {prediction} \t gold_answers: {gold_answer} \t match: {prediction == gold_answer}")
em_score = 1.0 if prediction == gold_answer else 0.0
total_em += em_score
count += 1
avg_em = total_em / count
print(f"EM: {avg_em}")
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('--dataset_name', type=str)
parser.add_argument('--model_name', type=str)
parser.add_argument('--mode', type=str)
parser.add_argument('--split', type=str, default='dev')
parser.add_argument('--result_path', type=str, default='./results')
args = parser.parse_args()
return args
if __name__ == "__main__":
args = parse_args()
result_file = os.path.join(args.result_path, f'{args.mode}_{args.dataset_name}_{args.split}_{args.model_name}.json')
evaluate_QA(result_file)
================================================
FILE: baselines/gpt3_baseline.py
================================================
import json
import os
from tqdm import tqdm
from collections import OrderedDict
from typing import Dict, List, Tuple
from utils import OpenAIModel
import argparse
class GPT3_Reasoning_Graph_Baseline:
def __init__(self, args):
self.args = args
self.data_path = args.data_path
self.dataset_name = args.dataset_name
self.split = args.split
self.model_name = args.model_name
self.save_path = args.save_path
self.demonstration_path = args.demonstration_path
self.mode = args.mode
self.openai_api = OpenAIModel(args.api_key, args.model_name, args.stop_words, args.max_new_tokens)
self.prompt_creator = self.prompt_LSAT
self.label_phrase = 'The correct option is:'
def prompt_LSAT(self, in_context_example, test_example):
full_prompt = in_context_example
context = test_example['context'].strip()
question = test_example['question'].strip()
options = '\n'.join([opt.strip() for opt in test_example['options']])
full_prompt = full_prompt.replace('[[CONTEXT]]', context)
full_prompt = full_prompt.replace('[[QUESTION]]', question)
full_prompt = full_prompt.replace('[[OPTIONS]]', options)
return full_prompt
def load_in_context_examples(self):
with open(os.path.join(self.demonstration_path, f'{self.dataset_name}_{self.mode}.txt')) as f:
in_context_examples = f.read()
return in_context_examples
def load_raw_dataset(self, split):
with open(os.path.join(self.data_path, self.dataset_name, f'{split}.json')) as f:
raw_dataset = json.load(f)
return raw_dataset
def reasoning_graph_generation(self):
# load raw dataset
raw_dataset = self.load_raw_dataset(self.split)
print(f"Loaded {len(raw_dataset)} examples from {self.split} split.")
# load in-context examples
in_context_examples = self.load_in_context_examples()
outputs = []
for example in tqdm(raw_dataset):
question = example['question']
# create prompt
full_prompt = self.prompt_creator(in_context_examples, example)
output = self.openai_api.generate(full_prompt)
# get the answer
label_phrase = self.label_phrase
generated_answer = output.split(label_phrase)[-1].strip()
generated_reasoning = output.split(label_phrase)[0].strip()
# create output
output = {'id': example['id'],
'question': question,
'answer': example['answer'],
'predicted_reasoning': generated_reasoning,
'predicted_answer': generated_answer}
outputs.append(output)
# save outputs
with open(os.path.join(self.save_path, f'{self.mode}_{self.dataset_name}_{self.split}_{self.model_name}.json'), 'w') as f:
json.dump(outputs, f, indent=2, ensure_ascii=False)
def batch_reasoning_graph_generation(self, batch_size=10):
# load raw dataset
raw_dataset = self.load_raw_dataset(self.split)
print(f"Loaded {len(raw_dataset)} examples from {self.split} split.")
# load in-context examples
in_context_examples = self.load_in_context_examples()
outputs = []
# split dataset into chunks
dataset_chunks = [raw_dataset[i:i + batch_size] for i in range(0, len(raw_dataset), batch_size)]
for chunk in tqdm(dataset_chunks):
# create prompt
full_prompts = [self.prompt_creator(in_context_examples, example) for example in chunk]
try:
batch_outputs = self.openai_api.batch_generate(full_prompts)
# create output
for sample, output in zip(chunk, batch_outputs):
# get the answer
dict_output = self.update_answer(sample, output)
outputs.append(dict_output)
except:
# generate one by one if batch generation fails
for sample, full_prompt in zip(chunk, full_prompts):
try:
output = self.openai_api.generate(full_prompt)
# get the answer
dict_output = self.update_answer(sample, output)
outputs.append(dict_output)
except:
print('Error in generating example: ', sample['id'])
# save outputs
with open(os.path.join(self.save_path, f'{self.mode}_{self.dataset_name}_{self.split}_{self.model_name}.json'), 'w') as f:
json.dump(outputs, f, indent=2, ensure_ascii=False)
def update_answer(self, sample, output):
label_phrase = self.label_phrase
generated_answer = output.split(label_phrase)[-1].strip()
generated_reasoning = output.split(label_phrase)[0].strip()
dict_output = {'id': sample['id'],
'question': sample['question'],
'answer': sample['answer'],
'predicted_reasoning': generated_reasoning,
'predicted_answer': generated_answer}
return dict_output
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('--data_path', type=str, default='../data')
parser.add_argument('--dataset_name', type=str)
parser.add_argument('--split', type=str)
parser.add_argument('--save_path', type=str, default='./results')
parser.add_argument('--demonstration_path', type=str, default='./icl_examples')
parser.add_argument('--api_key', type=str)
parser.add_argument('--model_name', type=str)
parser.add_argument('--stop_words', type=str, default='------')
parser.add_argument('--mode', type=str)
parser.add_argument('--max_new_tokens', type=int)
args = parser.parse_args()
return args
if __name__ == '__main__':
args = parse_args()
gpt3_problem_reduction = GPT3_Reasoning_Graph_Baseline(args)
gpt3_problem_reduction.batch_reasoning_graph_generation(batch_size=10)
================================================
FILE: baselines/icl_examples/AR-LSAT_CoT.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
During a single week, from Monday through Friday, tours will be conducted of a company's three divisions\u2014Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.
Question: Which one of the following CANNOT be true of the week's tour schedule?
Options:
A) The division that is toured on Monday is also toured on Tuesday.
B) The division that is toured on Monday is also toured on Friday.
C) The division that is toured on Tuesday is also toured on Thursday.
D) The division that is toured on Wednesday is also toured on Friday.
E) The division that is toured on Thursday is also toured on Friday.
Reasoning:
Since Thursday and Friday already have tours planned, only Monday, Tuesday and Wednesday tours need to be determined. On Tuesday, the Sales division is toured since that division is toured on only two consecutive days, i.e either Monday and Tuesday or Tuesday and Wednesday. A different division is toured on Thursday. Therefore, the final answer is C.
The correct option is: C
------
Context:
Each of seven candidates for the position of judge\u2014Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins\u2014will be appointed to an open position on one of two courts\u2014the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.
Question: Which one of the following is an acceptable set of appointments of candidates to courts?
Options:
A) appellate: Hamadi, Ortiz trial: Jefferson, Kurtz, Li, McDonnell, Perkins
B) appellate: Hamadi, Li, Perkins trial: Jefferson, Kurtz, McDonnell, Ortiz
C) appellate: Kurtz, Li, Perkins trial: Hamadi, Jefferson, McDonnell, Ortiz
D) appellate: Li, McDonnell, Ortiz trial: Hamadi, Jefferson, Kurtz, Perkins
E) appellate: Li, Perkins trial: Hamadi, Jefferson, Kurtz, McDonnell, Ortiz
Reasoning:
Li must be appointed to appellate court, so we rule out option A. Kurtz must be appointed to trial court, so we rule out option C. Hamadi and Perkins cannot be appointed to the same court, so we rule out option B and D. Therefore, the final answer is E.
The correct option is: E
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
Reasoning:
================================================
FILE: baselines/icl_examples/AR-LSAT_Direct.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
During a single week, from Monday through Friday, tours will be conducted of a company's three divisions\u2014Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.
Question: Which one of the following CANNOT be true of the week's tour schedule?
Options:
A) The division that is toured on Monday is also toured on Tuesday.
B) The division that is toured on Monday is also toured on Friday.
C) The division that is toured on Tuesday is also toured on Thursday.
D) The division that is toured on Wednesday is also toured on Friday.
E) The division that is toured on Thursday is also toured on Friday.
The correct option is: C
------
Context:
Each of seven candidates for the position of judge\u2014Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins\u2014will be appointed to an open position on one of two courts\u2014the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.
Question: Which one of the following is an acceptable set of appointments of candidates to courts?
Options:
A) appellate: Hamadi, Ortiz trial: Jefferson, Kurtz, Li, McDonnell, Perkins
B) appellate: Hamadi, Li, Perkins trial: Jefferson, Kurtz, McDonnell, Ortiz
C) appellate: Kurtz, Li, Perkins trial: Hamadi, Jefferson, McDonnell, Ortiz
D) appellate: Li, McDonnell, Ortiz trial: Hamadi, Jefferson, Kurtz, Perkins
E) appellate: Li, Perkins trial: Hamadi, Jefferson, Kurtz, McDonnell, Ortiz
The correct option is: E
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
The correct option is:
================================================
FILE: baselines/icl_examples/FOLIO_CoT.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
The Blake McFall Company Building is a commercial warehouse listed on the National Register of Historic Places. The Blake McFall Company Building was added to the National Register of Historic Places in 1990. The Emmet Building is a five-story building in Portland, Oregon. The Emmet Building was built in 1915. The Emmet Building is another name for the Blake McFall Company Building. John works at the Emmet Building.
Question: Based on the above information, is the following statement true, false, or uncertain? The Blake McFall Company Building is located in Portland, Oregon.
Options:
A) True
B) False
C) Uncertain
Reasoning:
The Blake McFall Company Building is another name for the Emmet Building. The Emmet Building is located in Portland, Oregon. Therefore, the Blake McFall Company Building is located in Portland, Oregon.
The correct option is: A
------
Context:
People eat meat regularly or are vegetation. If people eat meat regularly, then they enjoy eating hamburgers and steaks. All people who are vegetarian are conscious of the environment or their health. If people are conscious about the environment or their health, then they do not go to fast food places often. If people have busy schedules without time to cook, then they go to fast food places often. If Jeremy does not both go to fast food places often and is conscious about the environment or their health, then he goes to fast food places often.
Question: Based on the above information, is the following statement true, false, or uncertain? If Jeremy has a busy schedule without time to cook, then Jeremy does not enjoy eating hamburgers and steaks.
Options:
A) True
B) False
C) Uncertain
Reasoning:
If Jeremy has a busy schedule without time to cook or enjoy eating hamburgers and steaks, then Jeremy goes to fast food places often. If people are conscious about the environment or their health, then they do not go to fast food places often. This means that Jeremy is not conscious about the environment or his health. All people who are vegetarian are conscious of the environment or their health. Therefore, Jeremy is not vegetarian. People eat meat regularly or are vegetation. Therefore, Jeremy eats meat regularly. If people eat meat regularly, then they enjoy eating hamburgers and steaks. Therefore, Jeremy enjoys eating hamburgers and steaks.
The correct option is: B
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
Reasoning:
================================================
FILE: baselines/icl_examples/FOLIO_Direct.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
All people who regularly drink coffee are dependent on caffeine. People either regularly drink coffee or joke about being addicted to caffeine. No one who jokes about being addicted to caffeine is unaware that caffeine is a drug. Rina is either a student and unaware that caffeine is a drug, or neither a student nor unaware that caffeine is a drug. If Rina is not a person dependent on caffeine and a student, then Rina is either a person dependent on caffeine and a student, or neither a person dependent on caffeine nor a student.
Question: Based on the above information, is the following statement true, false, or uncertain? Rina is a person who jokes about being addicted to caffeine or unaware that caffeine is a drug.
Options:
A) True
B) False
C) Uncertain
The correct option is: A
------
Context:
William Dickinson was a British politician who sat in the House of Commons William Dickinson attended Westminster school for high school and then the University of Edinburgh. The University of Edinburgh is a university located in the United Kingdom. William Dickinson supported the Portland Whigs. People who supported the Portland Whigs did not get a seat in the Parliament.
Question: Based on the above information, is the following statement true, false, or uncertain? William Dickinson went to schools located in the United Kingdom for both high school and university.
Options:
A) True
B) False
C) Uncertain
The correct option is: C
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
The correct option is:
================================================
FILE: baselines/icl_examples/LogicalDeduction_CoT.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
The following paragraphs each describe a set of five objects arranged in a fixed order. The statements are logically consistent within each paragraph.\n\nOn a branch, there are five birds: a quail, an owl, a raven, a falcon, and a robin. The owl is the leftmost. The robin is to the left of the raven. The quail is the rightmost. The raven is the third from the left.
Question: Which of the following is true?
Options:
A) The quail is the rightmost.
B) The owl is the rightmost.
C) The raven is the rightmost.
D) The falcon is the rightmost.
E) The robin is the rightmost.
Reasoning:
The owl is the leftmost. This means owl is not the rightmost. The robin is to the left of the raven. This means neither robin nor raven is the rightmost. The quail is the rightmost. This directly answers the question, so option A) The quail is the rightmost is true. The raven is the third from the left. This means raven is also not the rightmost. So, the answer is: A) The quail is the rightmost.
The correct option is: A
------
Context:
The following paragraphs each describe a set of seven objects arranged in a fixed order. The statements are logically consistent within each paragraph.\n\nIn an antique car show, there are seven vehicles: a bus, a motorcyle, a hatchback, a station wagon, a minivan, a truck, and a limousine. The station wagon is the fourth-newest. The motorcyle is newer than the truck. The station wagon is older than the hatchback. The minivan is newer than the hatchback. The bus is newer than the minivan. The truck is newer than the limousine.
Question: Which of the following is true?
Options:
A) The bus is the third-oldest.
B) The motorcyle is the third-oldest.
C) The hatchback is the third-oldest.
D) The station wagon is the third-oldest.
E) The minivan is the third-oldest.
F) The truck is the third-oldest.
G) The limousine is the third-oldest.
Reasoning:
The station wagon is the fourth-newest. This means it is the fourth-oldest, so option D is incorrect. The station wagon is older than the hatchback. Since the station wagon is the fourth-oldest, the hatchback must be among the three newest cars, so it cannot be the third-oldest, and option C is incorrect. The minivan is newer than the hatchback. Given the previous point, the minivan must also be among the three newest cars and cannot be the third-oldest. So, option E is incorrect. The bus is newer than the minivan. From the previous point, the bus must be among the two newest cars, and it cannot be the third-oldest. So, option A is incorrect. The truck is newer than the limousine. The limousine is older than the truck, so the limousine cannot be the third-oldest. So, option G is incorrect. Therefore, the answer is: B) The motorcyle is the third-oldest.
The correct option is: B
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
Reasoning:
================================================
FILE: baselines/icl_examples/LogicalDeduction_Direct.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
The following paragraphs each describe a set of seven objects arranged in a fixed order. The statements are logically consistent within each paragraph.\n\nIn a golf tournament, there were seven golfers: Ana, Eve, Ada, Dan, Rob, Amy, and Joe. Dan finished third. Ana finished above Ada. Amy finished last. Dan finished below Rob. Eve finished below Ada. Rob finished below Joe.
Question: Which of the following is true?
Options:
A) Ana finished third.
B) Eve finished third.
C) Ada finished third.
D) Dan finished third.
E) Rob finished third.
F) Amy finished third.
G) Joe finished third.
The correct option is: D
------
Context:
The following paragraphs each describe a set of seven objects arranged in a fixed order. The statements are logically consistent within each paragraph.\n\nIn an antique car show, there are seven vehicles: a bus, a motorcyle, a hatchback, a station wagon, a minivan, a truck, and a limousine. The station wagon is the fourth-newest. The motorcyle is newer than the truck. The station wagon is older than the hatchback. The minivan is newer than the hatchback. The bus is newer than the minivan. The truck is newer than the limousine.
Question: Which of the following is true?
Options:
A) The bus is the third-oldest.
B) The motorcyle is the third-oldest.
C) The hatchback is the third-oldest.
D) The station wagon is the third-oldest.
E) The minivan is the third-oldest.
F) The truck is the third-oldest.
G) The limousine is the third-oldest.
The correct option is: B
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
The correct option is:
================================================
FILE: baselines/icl_examples/ProntoQA_CoT.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
Jompuses are not shy. Jompuses are yumpuses. Each yumpus is aggressive. Each yumpus is a dumpus. Dumpuses are not wooden. Dumpuses are wumpuses. Wumpuses are red. Every wumpus is an impus. Each impus is opaque. Impuses are tumpuses. Numpuses are sour. Tumpuses are not sour. Tumpuses are vumpuses. Vumpuses are earthy. Every vumpus is a zumpus. Zumpuses are small. Zumpuses are rompuses. Max is a yumpus.
Question: Is the following statement true or false? Max is sour.
Options:
A) True
B) False
Reasoning:
Max is a yumpus. Each yumpus is a dumpus. So Max is dumpus. Dumpuses are wumpuses. So Max is wumpus. Every wumpus is an impus. So Max is an impus. Impuses are tumpuses. So Max is a tumpus. Tumpuses are not sour. So Max is not sour.
The correct option is: B
------
Context:
Every tumpus is not angry. Tumpuses are rompuses. Every numpus is not bright. Rompuses are not luminous. Rompuses are yumpuses. Yumpuses are transparent. Yumpuses are zumpuses. Each zumpus is not bitter. Zumpuses are impuses. Impuses are red. Each impus is a dumpus. Every dumpus is happy. Each dumpus is a vumpus. Vumpuses are bright. Every vumpus is a jompus. Jompuses are large. Each jompus is a wumpus. Stella is a yumpus.
Question: Is the following statement true or false? Stella is bright.
Options:
A) True
B) False
Reasoning:
Stella is a yumpus. Yumpuses are zumpuses. So Stella is a zumpus. Each zumpus is an impus. So Stella is an impus. Each impus is a dumpus. So Stella is a dumpus. Every dumpus is a vumpus. So Stella is a vumpus. Vumpuses are bright. So Stella is bright.
The correct option is: A
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
Reasoning:
================================================
FILE: baselines/icl_examples/ProntoQA_Direct.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
Jompuses are not shy. Jompuses are yumpuses. Each yumpus is aggressive. Each yumpus is a dumpus. Dumpuses are not wooden. Dumpuses are wumpuses. Wumpuses are red. Every wumpus is an impus. Each impus is opaque. Impuses are tumpuses. Numpuses are sour. Tumpuses are not sour. Tumpuses are vumpuses. Vumpuses are earthy. Every vumpus is a zumpus. Zumpuses are small. Zumpuses are rompuses. Max is a yumpus.
Question: Is the following statement true or false? Max is sour.
Options:
A) True
B) False
The correct option is: B
------
Context:
Every tumpus is not angry. Tumpuses are rompuses. Every numpus is not bright. Rompuses are not luminous. Rompuses are yumpuses. Yumpuses are transparent. Yumpuses are zumpuses. Each zumpus is not bitter. Zumpuses are impuses. Impuses are red. Each impus is a dumpus. Every dumpus is happy. Each dumpus is a vumpus. Vumpuses are bright. Every vumpus is a jompus. Jompuses are large. Each jompus is a wumpus. Stella is a yumpus.
Question: Is the following statement true or false? Stella is bright.
Options:
A) True
B) False
The correct option is: A
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
The correct option is:
================================================
FILE: baselines/icl_examples/ProofWriter_CoT.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
The cow is blue. The cow is round. The cow likes the lion. The cow visits the tiger. The lion is cold. The lion is nice. The lion likes the squirrel. The squirrel is round. The squirrel sees the lion. The squirrel visits the cow. The tiger likes the cow. The tiger likes the squirrel. If something is cold then it visits the tiger. If something visits the tiger then it is nice. If something sees the tiger and it is young then it is blue. If something is nice then it sees the tiger. If something likes the squirrel and it likes the cow then it visits the tiger. If something is nice and it sees the tiger then it is young. If the cow is cold and the cow visits the lion then the lion sees the squirrel.
Question: Based on the above information, is the following statement true, false, or unknown? The tiger is not young.
Options:
A) True
B) False
C) Unknown
Reasoning:
The tiger likes the cow. The tiger likes the squirrel. If something likes the squirrel and it likes the cow, then it visits the tiger. So the tiger visits the tiger. If something visits the tiger then it is nice. So the tiger is nice. If something is nice and it sees the tiger then it is young. So the tiger is young.
The correct option is: B
------
Context:
The dog sees the rabbit. The dog sees the squirrel. The dog sees the tiger. The rabbit eats the dog. The rabbit does not eat the tiger. The rabbit does not like the tiger. The squirrel does not see the rabbit. The tiger does not eat the rabbit. The tiger is not kind. The tiger likes the dog. The tiger sees the dog. If something is cold then it likes the rabbit. If something eats the tiger and it is nice then it likes the rabbit. If something likes the squirrel then the squirrel likes the rabbit. If something likes the rabbit and the rabbit is kind then it sees the tiger. If something likes the tiger then the tiger is young. If something is young and it eats the rabbit then it likes the tiger. If something sees the rabbit then the rabbit is cold. If something likes the rabbit then it likes the squirrel. If something likes the squirrel then the squirrel is cold.
Question: Based on the above information, is the following statement true, false, or unknown? The rabbit is cold.
Options:
A) True
B) False
C) Uncertain
Reasoning:
The dog sees the rabbit. If something sees the rabbit then the rabbit is cold. So the rabbit is cold.
The correct option is: A
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
Reasoning:
================================================
FILE: baselines/icl_examples/ProofWriter_Direct.txt
================================================
Given a problem statement as contexts, the task is to answer a logical reasoning question.
------
Context:
The cow is blue. The cow is round. The cow likes the lion. The cow visits the tiger. The lion is cold. The lion is nice. The lion likes the squirrel. The squirrel is round. The squirrel sees the lion. The squirrel visits the cow. The tiger likes the cow. The tiger likes the squirrel. If something is cold then it visits the tiger. If something visits the tiger then it is nice. If something sees the tiger and it is young then it is blue. If something is nice then it sees the tiger. If something likes the squirrel and it likes the cow then it visits the tiger. If something is nice and it sees the tiger then it is young. If the cow is cold and the cow visits the lion then the lion sees the squirrel.
Question: Based on the above information, is the following statement true, false, or unknown? The tiger is not young.
Options:
A) True
B) False
C) Unknown
The correct option is: B
------
Context:
The dog sees the rabbit. The dog sees the squirrel. The dog sees the tiger. The rabbit eats the dog. The rabbit does not eat the tiger. The rabbit does not like the tiger. The squirrel does not see the rabbit. The tiger does not eat the rabbit. The tiger is not kind. The tiger likes the dog. The tiger sees the dog. If something is cold then it likes the rabbit. If something eats the tiger and it is nice then it likes the rabbit. If something likes the squirrel then the squirrel likes the rabbit. If something likes the rabbit and the rabbit is kind then it sees the tiger. If something likes the tiger then the tiger is young. If something is young and it eats the rabbit then it likes the tiger. If something sees the rabbit then the rabbit is cold. If something likes the rabbit then it likes the squirrel. If something likes the squirrel then the squirrel is cold.
Question: Based on the above information, is the following statement true, false, or unknown? The rabbit is cold.
Options:
A) True
B) False
C) Uncertain
The correct option is: A
------
Context:
[[CONTEXT]]
Question: [[QUESTION]]
Options:
[[OPTIONS]]
The correct option is:
================================================
FILE: baselines/utils.py
================================================
import backoff # for exponential backoff
import openai
import os
import asyncio
from typing import Any
@backoff.on_exception(backoff.expo, openai.error.RateLimitError)
def completions_with_backoff(**kwargs):
return openai.Completion.create(**kwargs)
@backoff.on_exception(backoff.expo, openai.error.RateLimitError)
def chat_completions_with_backoff(**kwargs):
return openai.ChatCompletion.create(**kwargs)
async def dispatch_openai_chat_requests(
messages_list: list[list[dict[str,Any]]],
model: str,
temperature: float,
max_tokens: int,
top_p: float,
stop_words: list[str]
) -> list[str]:
"""Dispatches requests to OpenAI API asynchronously.
Args:
messages_list: List of messages to be sent to OpenAI ChatCompletion API.
model: OpenAI model to use.
temperature: Temperature to use for the model.
max_tokens: Maximum number of tokens to generate.
top_p: Top p to use for the model.
stop_words: List of words to stop the model from generating.
Returns:
List of responses from OpenAI API.
"""
async_responses = [
openai.ChatCompletion.acreate(
model=model,
messages=x,
temperature=temperature,
max_tokens=max_tokens,
top_p=top_p,
stop = stop_words
)
for x in messages_list
]
return await asyncio.gather(*async_responses)
async def dispatch_openai_prompt_requests(
messages_list: list[list[dict[str,Any]]],
model: str,
temperature: float,
max_tokens: int,
top_p: float,
stop_words: list[str]
) -> list[str]:
async_responses = [
openai.Completion.acreate(
model=model,
prompt=x,
temperature=temperature,
max_tokens=max_tokens,
top_p=top_p,
frequency_penalty = 0.0,
presence_penalty = 0.0,
stop = stop_words
)
for x in messages_list
]
return await asyncio.gather(*async_responses)
class OpenAIModel:
def __init__(self, API_KEY, model_name, stop_words, max_new_tokens) -> None:
openai.api_key = API_KEY
self.model_name = model_name
self.max_new_tokens = max_new_tokens
self.stop_words = stop_words
# used for chat-gpt and gpt-4
def chat_generate(self, input_string, temperature = 0.0):
response = chat_completions_with_backoff(
model = self.model_name,
messages=[
{"role": "user", "content": input_string}
],
max_tokens = self.max_new_tokens,
temperature = temperature,
top_p = 1.0,
stop = self.stop_words
)
generated_text = response['choices'][0]['message']['content'].strip()
return generated_text
# used for text/code-davinci
def prompt_generate(self, input_string, temperature = 0.0):
response = completions_with_backoff(
model = self.model_name,
prompt = input_string,
max_tokens = self.max_new_tokens,
temperature = temperature,
top_p = 1.0,
frequency_penalty = 0.0,
presence_penalty = 0.0,
stop = self.stop_words
)
generated_text = response['choices'][0]['text'].strip()
return generated_text
def generate(self, input_string, temperature = 0.0):
if self.model_name in ['text-davinci-002', 'code-davinci-002', 'text-davinci-003']:
return self.prompt_generate(input_string, temperature)
elif self.model_name in ['gpt-4', 'gpt-3.5-turbo']:
return self.chat_generate(input_string, temperature)
else:
raise Exception("Model name not recognized")
def batch_chat_generate(self, messages_list, temperature = 0.0):
open_ai_messages_list = []
for message in messages_list:
open_ai_messages_list.append(
[{"role": "user", "content": message}]
)
predictions = asyncio.run(
dispatch_openai_chat_requests(
open_ai_messages_list, self.model_name, temperature, self.max_new_tokens, 1.0, self.stop_words
)
)
return [x['choices'][0]['message']['content'].strip() for x in predictions]
def batch_prompt_generate(self, prompt_list, temperature = 0.0):
predictions = asyncio.run(
dispatch_openai_prompt_requests(
prompt_list, self.model_name, temperature, self.max_new_tokens, 1.0, self.stop_words
)
)
return [x['choices'][0]['text'].strip() for x in predictions]
def batch_generate(self, messages_list, temperature = 0.0):
if self.model_name in ['text-davinci-002', 'code-davinci-002', 'text-davinci-003']:
return self.batch_prompt_generate(messages_list, temperature)
elif self.model_name in ['gpt-4', 'gpt-3.5-turbo']:
return self.batch_chat_generate(messages_list, temperature)
else:
raise Exception("Model name not recognized")
def generate_insertion(self, input_string, suffix, temperature = 0.0):
response = completions_with_backoff(
model = self.model_name,
prompt = input_string,
suffix= suffix,
temperature = temperature,
max_tokens = self.max_new_tokens,
top_p = 1.0,
frequency_penalty = 0.0,
presence_penalty = 0.0
)
generated_text = response['choices'][0]['text'].strip()
return generated_text
================================================
FILE: data/AR-LSAT/dev.json
================================================
[
{
"id": "ar_lsat_200006_1-G_1_1",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "Which one of the following is a complete and accurate list of the children who must be among those assigned to shared lockers?",
"options": [
"A) Fred, Juan",
"B) Juan, Paul",
"C) Juan, Marc, Paul",
"D) Juan, Marc, Trisha",
"E) Juan, Nita, Trisha"
],
"answer": "E"
},
{
"id": "ar_lsat_200006_1-G_1_2",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "If Trisha is assigned to locker 3 and Marc alone is assigned to locker 1, then which one of the following must be true?",
"options": [
"A) Juan is assigned to locker 4.",
"B) Juan is assigned to locker 5.",
"C) Paul is assigned to locker 2.",
"D) Rachel is assigned to locker 2.",
"E) Rachel is assigned to locker 5."
],
"answer": "B"
},
{
"id": "ar_lsat_200006_1-G_1_3",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "If the four boys are assigned to consecutively numbered lockers and Juan is assigned to locker 5, then which one of the following is a complete and accurate list of lockers each of which CANNOT be a shared locker?",
"options": [
"A) locker 2",
"B) locker 4",
"C) locker 1, locker 2",
"D) locker 1, locker 4",
"E) locker 2, locker 4"
],
"answer": "D"
},
{
"id": "ar_lsat_200006_1-G_1_4",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "Once Rachel has been assigned to a locker, what is the maximum number of different lockers each of which could be the locker to which Juan is assigned?",
"options": [
"A) one",
"B) two",
"C) three",
"D) four",
"E) five"
],
"answer": "C"
},
{
"id": "ar_lsat_200006_1-G_1_5",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "If the first three lockers are assigned to girls, which one of the following must be true?",
"options": [
"A) Juan is assigned to locker 1.",
"B) Nita is assigned to locker 3.",
"C) Trisha is assigned to locker 1.",
"D) Juan is assigned to the same locker as Trisha.",
"E) Paul is assigned to the same locker as Trisha."
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_1_6",
"context": "Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rachel, and Trisha—will be assigned to a row of five adjacent lockers, numbered consecutively 1 through 5, arranged along a straight wall. The following conditions govern the assignment of lockers to the seven children: Each locker must be assigned to either one or two children, and each child must be assigned to exactly one locker. Each shared locker must be assigned to one girl and one boy. Juan must share a locker, but Rachel cannot share a locker. Nita's locker cannot be adjacent to Trisha's locker. Fred must be assigned to locker 3.",
"question": "If lockers 1 and 2 are each assigned to one boy and are not shared lockers, then locker 4 must be assigned to",
"options": [
"A) Juan",
"B) Paul",
"C) Rachel",
"D) Juan and Nita",
"E) Marc and Trisha"
],
"answer": "C"
},
{
"id": "ar_lsat_200006_1-G_2_7",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "Which one of the following could be a complete and accurate list of the types of CDs that are on sale?",
"options": [
"A) new jazz, used jazz, used opera, used pop, new rap",
"B) new jazz, used pop, used rap, new soul",
"C) used opera, used pop, new rap, used rap",
"D) used opera, new pop, used pop, new soul",
"E) used jazz, used pop, new soul, used soul"
],
"answer": "E"
},
{
"id": "ar_lsat_200006_1-G_2_8",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "If new soul is not on sale, then which one of the following must be true?",
"options": [
"A) New rap is not on sale.",
"B) New rap is on sale.",
"C) Used opera is not on sale.",
"D) At least one type of jazz is not on sale.",
"E) At least one type of pop is not on sale."
],
"answer": "E"
},
{
"id": "ar_lsat_200006_1-G_2_9",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "If both types of jazz are on sale, then which one of the following is the minimum number of types of new CDs that could be included in the sale?",
"options": [
"A) one",
"B) two",
"C) three",
"D) four",
"E) five"
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_2_10",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) Neither type of opera and neither type of rap is on sale.",
"B) Neither type of jazz and neither type of opera is on sale.",
"C) Neither type of opera and neither type of soul is on sale.",
"D) Neither type of jazz and neither type of soul is on sale.",
"E) Neither type of jazz and neither type of rap is on sale."
],
"answer": "D"
},
{
"id": "ar_lsat_200006_1-G_2_11",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "If neither type of jazz is on sale, then each of the following must be true EXCEPT:",
"options": [
"A) Used opera is on sale.",
"B) New rap is not on sale.",
"C) Used rap is not on sale.",
"D) New soul is on sale.",
"E) Used soul is on sale."
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_2_12",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "If new soul is the only type of new CD on sale, then which one of the following CANNOT be true?",
"options": [
"A) Used jazz is not on sale.",
"B) Used opera is not on sale.",
"C) Used rap is not on sale.",
"D) Used soul is on sale.",
"E) Used soul is not on sale."
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_2_13",
"context": "A music store carries exactly ten types of CDs—both new and used of each of jazz, opera, pop, rap, and soul. The store is having a sale on some of these types of CDs. The following conditions must apply: Used pop is on sale; new opera is not. If both types of pop are on sale, then all soul is. If both types of jazz are on sale, then no rap is. If neither type of jazz is on sale, then new pop is. If either type of rap is on sale, then no soul is.",
"question": "If exactly four of the five types of used CDs are the only CDs on sale, then which one of the following could be true?",
"options": [
"A) Used jazz is not on sale.",
"B) Used opera is not on sale.",
"C) Used rap is not on sale.",
"D) Neither type of jazz is on sale.",
"E) Neither type of rap and neither type of soul is on sale."
],
"answer": "C"
},
{
"id": "ar_lsat_200006_1-G_3_14",
"context": "During a single week, from Monday through Friday, tours will be conducted of a company's three divisions—Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.",
"question": "Which one of the following CANNOT be true of the week's tour schedule?",
"options": [
"A) The division that is toured on Monday is also toured on Tuesday.",
"B) The division that is toured on Monday is also toured on Friday.",
"C) The division that is toured on Tuesday is also toured on Thursday.",
"D) The division that is toured on Wednesday is also toured on Friday.",
"E) The division that is toured on Thursday is also toured on Friday."
],
"answer": "C"
},
{
"id": "ar_lsat_200006_1-G_3_15",
"context": "During a single week, from Monday through Friday, tours will be conducted of a company's three divisions—Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.",
"question": "If in addition to the Sales division one other division is toured on two consecutive days, then it could be true of the week's tour schedule both that the",
"options": [
"A) Production division is toured on Monday and that the Operations division is toured on Thursday",
"B) Production division is toured on Tuesday and that the Sales division is toured on Wednesday",
"C) Operations division is toured on Tuesday and that the Production division is toured on Friday",
"D) Sales division is toured on Monday and that the Operations division is toured on Friday",
"E) Sales division is toured on Wednesday and that the Production division is toured on Friday"
],
"answer": "B"
},
{
"id": "ar_lsat_200006_1-G_3_16",
"context": "During a single week, from Monday through Friday, tours will be conducted of a company's three divisions—Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.",
"question": "If in the week's tour schedule the division that is toured on Tuesday is also toured on Friday, then for which one of the following days must a tour of the Production division be scheduled?",
"options": [
"A) Monday",
"B) Tuesday",
"C) Wednesday",
"D) Thursday",
"E) Friday"
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_3_17",
"context": "During a single week, from Monday through Friday, tours will be conducted of a company's three divisions—Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.",
"question": "If in the week's tour schedule the division that is toured on Monday is not the division that is toured on Tuesday, then which one of the following could be true of the week's schedule?",
"options": [
"A) A tour of the Sales division is scheduled for some day earlier in the week than is any tour of the Production division.",
"B) A tour of the Operations division is scheduled for some day earlier in the week than is any tour of the Production division.",
"C) The Sales division is toured on Monday.",
"D) The Production division is toured on Tuesday.",
"E) The Operations division is toured on Wednesday."
],
"answer": "E"
},
{
"id": "ar_lsat_200006_1-G_3_18",
"context": "During a single week, from Monday through Friday, tours will be conducted of a company's three divisions—Operations, Production, and Sales. Exactly five tours will be conducted that week, one each day. The schedule of tours for the week must conform to the following restrictions: Each division is toured at least once. The Operations division is not toured on Monday. The Production division is not toured on Wednesday. The Sales division is toured on two consecutive days, and on no other days. If the Operations division is toured on Thursday, then the Production division is toured on Friday.",
"question": "If in the week's tour schedule the division that is toured on Tuesday is also toured on Wednesday, then which one of the following must be true of the week's tour schedule?",
"options": [
"A) The Production division is toured on Monday.",
"B) The Operations division is toured on Tuesday.",
"C) The Sales division is toured on Wednesday.",
"D) The Sales division is toured on Thursday.",
"E) The Production division is toured on Friday."
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_4_19",
"context": "A crew of up to five workers is to install a partition in at most three days. The crew completes five tasks in this order: framing, wallboarding, taping, sanding, priming. The crew is selected from the following list, which specifies exactly the tasks each person can do: George: taping Helena: sanding, priming Inga: framing, priming Kelly: framing, sanding Leanda: wallboarding, taping Maricita: sanding Olaf: wallboarding, priming The following conditions must apply: At least one task is done each day. Taping and priming are done on different days. Each crew member does at least one task during the installation, but no more than one task a day. Each task is done by exactly one worker, completed the day it is started and before the next task begins.",
"question": "Which one of the following could be a complete and accurate list of the members of the crew?",
"options": [
"A) George, Helena, Inga, Kelly",
"B) George, Helena, Kelly, Leanda",
"C) Helena, Inga, Kelly, Olaf",
"D) Helena, Inga, Maricita, Olaf",
"E) George, Helena, Leanda, Maricita, Olaf"
],
"answer": "B"
},
{
"id": "ar_lsat_200006_1-G_4_20",
"context": "A crew of up to five workers is to install a partition in at most three days. The crew completes five tasks in this order: framing, wallboarding, taping, sanding, priming. The crew is selected from the following list, which specifies exactly the tasks each person can do: George: taping Helena: sanding, priming Inga: framing, priming Kelly: framing, sanding Leanda: wallboarding, taping Maricita: sanding Olaf: wallboarding, priming The following conditions must apply: At least one task is done each day. Taping and priming are done on different days. Each crew member does at least one task during the installation, but no more than one task a day. Each task is done by exactly one worker, completed the day it is started and before the next task begins.",
"question": "If the installation takes three days, and if the same two crew members work on the first and third days, then which one of the following could be the pair of crew members who work on those two days?",
"options": [
"A) Helena and Inga",
"B) Inga and Kelly",
"C) Inga and Leanda",
"D) Kelly and Olaf",
"E) Leanda and Olaf"
],
"answer": "D"
},
{
"id": "ar_lsat_200006_1-G_4_21",
"context": "A crew of up to five workers is to install a partition in at most three days. The crew completes five tasks in this order: framing, wallboarding, taping, sanding, priming. The crew is selected from the following list, which specifies exactly the tasks each person can do: George: taping Helena: sanding, priming Inga: framing, priming Kelly: framing, sanding Leanda: wallboarding, taping Maricita: sanding Olaf: wallboarding, priming The following conditions must apply: At least one task is done each day. Taping and priming are done on different days. Each crew member does at least one task during the installation, but no more than one task a day. Each task is done by exactly one worker, completed the day it is started and before the next task begins.",
"question": "Each of the following could be a complete and accurate list of the members of the crew EXCEPT:",
"options": [
"A) Helena, Inga, Kelly, Maricita",
"B) Inga, Kelly, Leanda, Olaf",
"C) George, Helena, Inga, Leanda",
"D) Inga, Leanda, Maricita, Olaf",
"E) Kelly, Leanda, Maricita, Olaf"
],
"answer": "A"
},
{
"id": "ar_lsat_200006_1-G_4_22",
"context": "A crew of up to five workers is to install a partition in at most three days. The crew completes five tasks in this order: framing, wallboarding, taping, sanding, priming. The crew is selected from the following list, which specifies exactly the tasks each person can do: George: taping Helena: sanding, priming Inga: framing, priming Kelly: framing, sanding Leanda: wallboarding, taping Maricita: sanding Olaf: wallboarding, priming The following conditions must apply: At least one task is done each day. Taping and priming are done on different days. Each crew member does at least one task during the installation, but no more than one task a day. Each task is done by exactly one worker, completed the day it is started and before the next task begins.",
"question": "If the installation takes three days, and if the sanding is done on the third day, then which one of the following could be a list of all the crew members who work on the second day?",
"options": [
"A) Inga",
"B) Kelly",
"C) Olaf",
"D) George and Helena",
"E) Leanda and Olaf"
],
"answer": "E"
},
{
"id": "ar_lsat_200006_1-G_4_23",
"context": "A crew of up to five workers is to install a partition in at most three days. The crew completes five tasks in this order: framing, wallboarding, taping, sanding, priming. The crew is selected from the following list, which specifies exactly the tasks each person can do: George: taping Helena: sanding, priming Inga: framing, priming Kelly: framing, sanding Leanda: wallboarding, taping Maricita: sanding Olaf: wallboarding, priming The following conditions must apply: At least one task is done each day. Taping and priming are done on different days. Each crew member does at least one task during the installation, but no more than one task a day. Each task is done by exactly one worker, completed the day it is started and before the next task begins.",
"question": "Which one of the following could be a pair of members of the crew both of whom work on the same days as each other and each of whom perform two tasks?",
"options": [
"A) George and Maricita",
"B) Helena and Kelly",
"C) Inga and Leanda",
"D) Kelly and Leanda",
"E) Leanda and Olaf"
],
"answer": "D"
},
{
"id": "ar_lsat_200310_2-G_1_1",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "Which one of the following could be an accurate matching of the hangers to the fabrics of the dresses that hang on them?",
"options": [
"A) 1: wool; 2: gauze; 3: silk; 4: linen; 5: polyester; 6: rayon",
"B) 1: rayon; 2: wool; 3: gauze; 4: silk; 5: linen; 6: polyester",
"C) 1: polyester; 2: gauze; 3: wool; 4: silk; 5: linen; 6: rayon",
"D) 1: linen; 2: silk; 3: wool; 4: gauze; 5: polyester; 6: rayon",
"E) 1: gauze; 2: rayon; 3: silk; 4: linen; 5: wool; 6: polyester"
],
"answer": "A"
},
{
"id": "ar_lsat_200310_2-G_1_2",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "If both the silk dress and the gauze dress are on odd-numbered hangers, then which one of the following could be true?",
"options": [
"A) The polyester dress is on hanger 1.",
"B) The wool dress is on hanger 2.",
"C) The polyester dress is on hanger 4.",
"D) The linen dress is on hanger 5.",
"E) The wool dress is on hanger 6."
],
"answer": "B"
},
{
"id": "ar_lsat_200310_2-G_1_3",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "If the silk dress is on an even-numbered hanger, which one of the following could be on the hanger immediately to its left?",
"options": [
"A) the gauze dress",
"B) the linen dress",
"C) the polyester dress",
"D) the rayon dress",
"E) the wool dress"
],
"answer": "E"
},
{
"id": "ar_lsat_200310_2-G_1_4",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "If the polyester dress is on hanger 2, then which one of the following must be true?",
"options": [
"A) The silk dress is on hanger 1.",
"B) The wool dress is on hanger 3.",
"C) The linen dress is on hanger 4.",
"D) The linen dress is on hanger 5.",
"E) The rayon dress is on hanger 6."
],
"answer": "E"
},
{
"id": "ar_lsat_200310_2-G_1_5",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) The linen dress hangs immediately next to the gauze dress.",
"B) The polyester dress hangs immediately to the right of the rayon dress.",
"C) The rayon dress hangs immediately to the left of the wool dress.",
"D) The silk dress is on a lower-numbered hanger than the gauze dress.",
"E) The wool dress is on a higher-numbered hanger than the rayon dress."
],
"answer": "B"
},
{
"id": "ar_lsat_200310_2-G_1_6",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "Which one of the following CANNOT hang immediately next to the rayon dress?",
"options": [
"A) the gauze dress",
"B) the linen dress",
"C) the polyester dress",
"D) the silk dress",
"E) the wool dress"
],
"answer": "D"
},
{
"id": "ar_lsat_200310_2-G_1_7",
"context": "A closet contains exactly six hangers—1, 2, 3, 4, 5, and 6—hanging, in that order, from left to right. It also contains exactly six dresses—one gauze, one linen, one polyester, one rayon, one silk, and one wool—a different dress on each of the hangers, in an order satisfying the following conditions: The gauze dress is on a lower-numbered hanger than the polyester dress. The rayon dress is on hanger 1 or hanger 6. Either the wool dress or the silk dress is on hanger 3. The linen dress hangs immediately to the right of the silk dress.",
"question": "Assume that the original condition that the linen dress hangs immediately to the right of the silk dress is replaced by the condition that the wool dress hangs immediately to the right of the silk dress. If all the other initial conditions remain in effect, which one of the following must be false?",
"options": [
"A) The linen dress is on hanger 1.",
"B) The gauze dress is on hanger 2.",
"C) The wool dress is on hanger 4.",
"D) The silk dress is on hanger 5.",
"E) The polyester dress is on hanger 6."
],
"answer": "D"
},
{
"id": "ar_lsat_200310_2-G_2_8",
"context": "At a children's festival, exactly four songs are performed, each exactly once: \"Night's All Right,\" \"Question Man,\" \"Rhino Rock,\" and \"Sammy.\" The songs are performed consecutively, each on a different one of exactly four instruments: flute, guitar, harmonica, or keyboard. The songs are performed in accordance with the following: The first song performed is not performed on the flute. If \"Sammy\" is performed on the keyboard, then \"Rhino Rock\" is performed on the harmonica. If \"Question Man\" is performed on the keyboard, then \"Night's All Right\" is performed on the flute. The song performed on the keyboard immediately follows \"Rhino Rock\" and immediately precedes \"Night's All Right.\"",
"question": "Which one of the following could be an accurate matching of the four songs performed at the festival with the instruments on which they are performed, listed in order from the first song performed to the last?",
"options": [
"A) \"Night's All Right\": guitar;\" Question Man\": keyboard; \"Sammy\": guitar;\" Rhino Rock\": flute",
"B) \"Question Man\": guitar;\" Rhino Rock\": harmonica; \"Sammy\": keyboard;\" Night's All Right\": flute",
"C) \"Rhino Rock\": flute;\" Question Man\": keyboard; \"Night's All Right\": harmonica;\" Sammy\": guitar",
"D) \"Sammy\": harmonica;\" Night's All Right\": guitar; \"Question Man\": keyboard;\" Rhino Rock\": flute",
"E) \"Sammy\": harmonica;\" Rhino Rock\": guitar; \"Question Man\": flute;\" Night's All Right\": keyboard"
],
"answer": "B"
},
{
"id": "ar_lsat_200310_2-G_2_9",
"context": "At a children's festival, exactly four songs are performed, each exactly once: \"Night's All Right,\" \"Question Man,\" \"Rhino Rock,\" and \"Sammy.\" The songs are performed consecutively, each on a different one of exactly four instruments: flute, guitar, harmonica, or keyboard. The songs are performed in accordance with the following: The first song performed is not performed on the flute. If \"Sammy\" is performed on the keyboard, then \"Rhino Rock\" is performed on the harmonica. If \"Question Man\" is performed on the keyboard, then \"Night's All Right\" is performed on the flute. The song performed on the keyboard immediately follows \"Rhino Rock\" and immediately precedes \"Night's All Right.\"",
"question": "Which one of the following could be true?",
"options": [
"A) \"Question Man\" immediately follows the song performed on the keyboard.",
"B) \"Night's All Right\" immediately precedes the song performed on the keyboard.",
"C) \"Question Man\" immediately precedes the song performed on the guitar.",
"D) \"Rhino Rock\" immediately precedes the song performed on the harmonica.",
"E) \"Sammy\" immediately precedes the song performed on the guitar."
],
"answer": "E"
},
{
"id": "ar_lsat_200310_2-G_2_10",
"context": "At a children's festival, exactly four songs are performed, each exactly once: \"Night's All Right,\" \"Question Man,\" \"Rhino Rock,\" and \"Sammy.\" The songs are performed consecutively, each on a different one of exactly four instruments: flute, guitar, harmonica, or keyboard. The songs are performed in accordance with the following: The first song performed is not performed on the flute. If \"Sammy\" is performed on the keyboard, then \"Rhino Rock\" is performed on the harmonica. If \"Question Man\" is performed on the keyboard, then \"Night's All Right\" is performed on the flute. The song performed on the keyboard immediately follows \"Rhino Rock\" and immediately precedes \"Night's All Right.\"",
"question": "Which one of the following CANNOT be true of the song performed on the flute?",
"options": [
"A) It immediately precedes \"Question Man.\"",
"B) It immediately follows \"Question Man.\"",
"C) It immediately precedes \"Rhino Rock.\"",
"D) It immediately follows \"Night's All Right.\"",
"E) It immediately follows \"Sammy.\""
],
"answer": "C"
},
{
"id": "ar_lsat_200310_2-G_2_11",
"context": "At a children's festival, exactly four songs are performed, each exactly once: \"Night's All Right,\" \"Question Man,\" \"Rhino Rock,\" and \"Sammy.\" The songs are performed consecutively, each on a different one of exactly four instruments: flute, guitar, harmonica, or keyboard. The songs are performed in accordance with the following: The first song performed is not performed on the flute. If \"Sammy\" is performed on the keyboard, then \"Rhino Rock\" is performed on the harmonica. If \"Question Man\" is performed on the keyboard, then \"Night's All Right\" is performed on the flute. The song performed on the keyboard immediately follows \"Rhino Rock\" and immediately precedes \"Night's All Right.\"",
"question": "If \"Rhino Rock\" is the second song performed at the festival, then which one of the following could be true?",
"options": [
"A) The first song performed is performed on the keyboard.",
"B) The third song performed is performed on the guitar.",
"C) The third song performed is performed on the flute.",
"D) \"Night's All Right\" is performed on the guitar.",
"E) \"Rhino Rock\" is performed on the guitar."
],
"answer": "E"
},
{
"id": "ar_lsat_200310_2-G_2_12",
"context": "At a children's festival, exactly four songs are performed, each exactly once: \"Night's All Right,\" \"Question Man,\" \"Rhino Rock,\" and \"Sammy.\" The songs are performed consecutively, each on a different one of exactly four instruments: flute, guitar, harmonica, or keyboard. The songs are performed in accordance with the following: The first song performed is not performed on the flute. If \"Sammy\" is performed on the keyboard, then \"Rhino Rock\" is performed on the harmonica. If \"Question Man\" is performed on the keyboard, then \"Night's All Right\" is performed on the flute. The song performed on the keyboard immediately follows \"Rhino Rock\" and immediately precedes \"Night's All Right.\"",
"question": "If \"Question Man\" is the third song performed at the festival, then each of the following could be true EXCEPT:",
"options": [
"A) \"Question Man\" is performed on the guitar.",
"B) \"Question Man\" is performed on the keyboard.",
"C) \"Rhino Rock\" is performed on the guitar.",
"D) \"Sammy\" is performed on the guitar.",
"E) \"Sammy\" is performed on the harmonica."
],
"answer": "A"
},
{
"id": "ar_lsat_200310_2-G_3_13",
"context": "Each of the seven members of the board of directors—Guzman, Hawking, Lepp, Miyauchi, Upchurch, Wharton, and Zhu—serves on exactly one of two committees—the finance committee or the incentives committee. Only board members serve on these committees. Committee membership is consistent with the following conditions: If Guzman serves on the finance committee, then Hawking serves on the incentives committee. If Lepp serves on the finance committee, then Miyauchi and Upchurch both serve on the incentives committee. Wharton serves on a different committee from the one on which Zhu serves. Upchurch serves on a different committee from the one on which Guzman serves. If Zhu serves on the finance committee, so does Hawking.",
"question": "Which one of the following could be a complete and accurate list of the members of the finance committee?",
"options": [
"A) Guzman, Hawking, Miyauchi, Wharton",
"B) Guzman, Lepp, Zhu",
"C) Hawking, Miyauchi, Zhu",
"D) Hawking, Upchurch, Wharton, Zhu",
"E) Miyauchi, Upchurch, Wharton"
],
"answer": "E"
},
{
"id": "ar_lsat_200310_2-G_3_14",
"context": "Each of the seven members of the board of directors—Guzman, Hawking, Lepp, Miyauchi, Upchurch, Wharton, and Zhu—serves on exactly one of two committees—the finance committee or the incentives committee. Only board members serve on these committees. Committee membership is consistent with the following conditions: If Guzman serves on the finance committee, then Hawking serves on the incentives committee. If Lepp serves on the finance committee, then Miyauchi and Upchurch both serve on the incentives committee. Wharton serves on a different committee from the one on which Zhu serves. Upchurch serves on a different committee from the one on which Guzman serves. If Zhu serves on the finance committee, so does Hawking.",
"question": "Which one of the following pairs of board members CANNOT both serve on the incentives committee?",
"options": [
"A) Guzman and Hawking",
"B) Guzman and Wharton",
"C) Hawking and Wharton",
"D) Miyauchi and Upchurch",
"E) Miyauchi and Wharton"
],
"answer": "C"
},
{
"id": "ar_lsat_200310_2-G_3_15",
"context": "Each of the seven members of the board of directors—Guzman, Hawking, Lepp, Miyauchi, Upchurch, Wharton, and Zhu—serves on exactly one of two committees—the finance committee or the incentives committee. Only board members serve on these committees. Committee membership is consistent with the following conditions: If Guzman serves on the finance committee, then Hawking serves on the incentives committee. If Lepp serves on the finance committee, then Miyauchi and Upchurch both serve on the incentives committee. Wharton serves on a different committee from the one on which Zhu serves. Upchurch serves on a different committee from the one on which Guzman serves. If Zhu serves on the finance committee, so does Hawking.",
"question": "What is the maximum number of members on the finance committee?",
"options": [
"A) two",
"B) three",
"C) four",
"D) five",
"E) six"
],
"answer": "C"
},
{
"id": "ar_lsat_200310_2-G_3_16",
"context": "Each of the seven members of the board of directors—Guzman, Hawking, Lepp, Miyauchi, Upchurch, Wharton, and Zhu—serves on exactly one of two committees—the finance committee or the incentives committee. Only board members serve on these committees. Committee membership is consistent with the following conditions: If Guzman serves on the finance committee, then Hawking serves on the incentives committee. If Lepp serves on the finance committee, then Miyauchi and Upchurch both serve on the incentives committee. Wharton serves on a different committee from the one on which Zhu serves. Upchurch serves on a different committee from the one on which Guzman serves. If Zhu serves on the finance committee, so does Hawking.",
"question": "If Miyauchi and Wharton both serve on the finance committee, then which one of the following could be true?",
"options": [
"A) Guzman and Lepp both serve on the finance committee.",
"B) Guzman and Upchurch both serve on the incentives committee.",
"C) Hawking and Zhu both serve on the finance committee.",
"D) Lepp and Upchurch both serve on the incentives committee.",
"E) Zhu and Upchurch both serve on the finance committee."
],
"answer": "D"
},
{
"id": "ar_lsat_200310_2-G_3_17",
"context": "Each of the seven members of the board of directors—Guzman, Hawking, Lepp, Miyauchi, Upchurch, Wharton, and Zhu—serves on exactly one of two committees—the finance committee or the incentives committee. Only board members serve on these committees. Committee membership is consistent with the following conditions: If Guzman serves on the finance committee, then Hawking serves on the incentives committee. If Lepp serves on the finance committee, then Miyauchi and Upchurch both serve on the incentives committee. Wharton serves on a different committee from the one on which Zhu serves. Upchurch serves on a different committee from the one on which Guzman serves. If Zhu serves on the finance committee, so does Hawking.",
"question": "If Guzman serves on the incentives committee, then which one of the following must be true?",
"options": [
"A) Hawking serves on the finance committee.",
"B) Lepp serves on the incentives committee.",
"C) Miyauchi serves on the finance committee.",
"D) Wharton serves on the incentives committee.",
"E) Zhu serves on the finance committee."
],
"answer": "B"
},
{
"id": "ar_lsat_200310_2-G_4_18",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "Which one of the following could be the order in which four of the people are seated, with no one else seated between them, counting clockwise around the table?",
"options": [
"A) George, Peter, Karl, Fiona",
"B) Harriet, Olivia, Ingrid, Karl",
"C) Ingrid, Fiona, Peter, Manuel",
"D) Olivia, Manuel, Karl, George",
"E) Peter, Harriet, Karl, Fiona"
],
"answer": "C"
},
{
"id": "ar_lsat_200310_2-G_4_19",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "If Harriet and Olivia each sits immediately next to George, then which one of the following could be the two people each of whom sits immediately next to Peter?",
"options": [
"A) Fiona and Karl",
"B) Fiona and Olivia",
"C) Harriet and Ingrid",
"D) Harriet and Karl",
"E) Karl and Manuel"
],
"answer": "D"
},
{
"id": "ar_lsat_200310_2-G_4_20",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "If George does not sit immediately next to Harriet, then which one of the following could be the two people each of whom sits immediately next to Manuel?",
"options": [
"A) Fiona and Harriet",
"B) Fiona and Peter",
"C) George and Karl",
"D) George and Peter",
"E) Harriet and Peter"
],
"answer": "A"
},
{
"id": "ar_lsat_200310_2-G_4_21",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "If Manuel sits immediately next to Olivia, then which one of the following people must sit immediately next to Fiona?",
"options": [
"A) Harriet",
"B) Ingrid",
"C) Karl",
"D) Manuel",
"E) Peter"
],
"answer": "C"
},
{
"id": "ar_lsat_200310_2-G_4_22",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "What is the minimum possible number of people sitting between Ingrid and Manuel, counting clockwise from Ingrid around the table?",
"options": [
"A) zero",
"B) one",
"C) two",
"D) three",
"E) four"
],
"answer": "A"
},
{
"id": "ar_lsat_200310_2-G_4_23",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "If Karl sits directly across from Ingrid, then each of the following people could sit immediately next to Olivia EXCEPT:",
"options": [
"A) Fiona",
"B) George",
"C) Harriet",
"D) Manuel",
"E) Peter"
],
"answer": "B"
},
{
"id": "ar_lsat_200310_2-G_4_24",
"context": "Eight people—Fiona, George, Harriet, Ingrid, Karl, Manuel, Olivia, and Peter—are sitting, evenly spaced, around a circular picnic table. Any two of them are said to be sitting directly across from one another if and only if there are exactly three other people sitting between them, counting in either direction around the table. The following conditions apply: Fiona sits directly across from George. Harriet sits immediately next to neither Fiona nor Karl. Ingrid sits immediately next to, and immediately clockwise from, Olivia.",
"question": "If Karl sits directly across from Harriet, then what is the minimum possible number of people sitting between George and Karl, counting clockwise from George to Karl?",
"options": [
"A) zero",
"B) one",
"C) two",
"D) three",
"E) four"
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_1_1",
"context": "Each of seven candidates for the position of judge—Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins—will be appointed to an open position on one of two courts—the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.",
"question": "Which one of the following is an acceptable set of appointments of candidates to courts?",
"options": [
"A) appellate: Hamadi, Ortiz trial: Jefferson, Kurtz, Li, McDonnell, Perkins",
"B) appellate: Hamadi, Li, Perkins trial: Jefferson, Kurtz, McDonnell, Ortiz",
"C) appellate: Kurtz, Li, Perkins trial: Hamadi, Jefferson, McDonnell, Ortiz",
"D) appellate: Li, McDonnell, Ortiz trial: Hamadi, Jefferson, Kurtz, Perkins",
"E) appellate: Li, Perkins trial: Hamadi, Jefferson, Kurtz, McDonnell, Ortiz"
],
"answer": "E"
},
{
"id": "ar_lsat_201106_2-G_1_2",
"context": "Each of seven candidates for the position of judge—Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins—will be appointed to an open position on one of two courts—the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) Hamadi and McDonnell are both appointed to the appellate court.",
"B) McDonnell and Ortiz are both appointed to the appellate court.",
"C) Ortiz and Perkins are both appointed to the appellate court.",
"D) Hamadi and Jefferson are both appointed to the trial court.",
"E) Ortiz and Perkins are both appointed to the trial court."
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_1_3",
"context": "Each of seven candidates for the position of judge—Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins—will be appointed to an open position on one of two courts—the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) Jefferson and McDonnell are both appointed to the appellate court.",
"B) Jefferson and McDonnell are both appointed to the trial court.",
"C) McDonnell and Ortiz are both appointed to the trial court.",
"D) McDonnell and Perkins are both appointed to the appellate court.",
"E) McDonnell and Perkins are both appointed to the trial court."
],
"answer": "A"
},
{
"id": "ar_lsat_201106_2-G_1_4",
"context": "Each of seven candidates for the position of judge—Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins—will be appointed to an open position on one of two courts—the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.",
"question": "If Ortiz is appointed to the appellate court, which one of the following must be true?",
"options": [
"A) Hamadi is appointed to the appellate court.",
"B) Jefferson is appointed to the appellate court.",
"C) Jefferson is appointed to the trial court.",
"D) Perkins is appointed to the appellate court.",
"E) Perkins is appointed to the trial court."
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_1_5",
"context": "Each of seven candidates for the position of judge—Hamadi, Jefferson, Kurtz, Li, McDonnell, Ortiz, and Perkins—will be appointed to an open position on one of two courts—the appellate court or the trial court. There are three open positions on the appellate court and six open positions on the trial court, but not all of them will be filled at this time. The judicial appointments will conform to the following conditions: Li must be appointed to the appellate court. Kurtz must be appointed to the trial court. Hamadi cannot be appointed to the same court as Perkins.",
"question": "Which one of the following, if substituted for the condition that Hamadi cannot be appointed to the same court as Perkins, would have the same effect on the appointments of the seven candidates?",
"options": [
"A) Hamadi and Perkins cannot both be appointed to the appellate court.",
"B) If Hamadi is not appointed to the trial court, then Perkins must be.",
"C) If Perkins is appointed to the same court as Jefferson, then Hamadi cannot be.",
"D) If Hamadi is appointed to the same court as Li, then Perkins must be appointed to the same court as Kurtz.",
"E) No three of Hamadi, Kurtz, Li, and Perkins can be appointed to the same court as each other."
],
"answer": "E"
},
{
"id": "ar_lsat_201106_2-G_2_6",
"context": "Exactly six members of a skydiving team—Larue, Ohba, Pei, Trevino, Weiss, and Zacny—each dive exactly once, one at a time, from a plane, consistent with the following conditions: Trevino dives from the plane at some time before Weiss does. Larue dives from the plane either first or last. Neither Weiss nor Zacny dives from the plane last. Pei dives from the plane at some time after either Ohba or Larue but not both.",
"question": "Which one of the following could be an accurate list of the members in the order in which they dive from the plane, from first to last?",
"options": [
"A) Larue, Trevino, Ohba, Zacny, Pei, Weiss",
"B) Larue, Trevino, Pei, Zacny, Weiss, Ohba",
"C) Weiss, Ohba, Trevino, Zacny, Pei, Larue",
"D) Trevino, Weiss, Pei, Ohba, Zacny, Larue",
"E) Trevino, Weiss, Zacny, Larue, Pei, Ohba"
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_2_7",
"context": "Exactly six members of a skydiving team—Larue, Ohba, Pei, Trevino, Weiss, and Zacny—each dive exactly once, one at a time, from a plane, consistent with the following conditions: Trevino dives from the plane at some time before Weiss does. Larue dives from the plane either first or last. Neither Weiss nor Zacny dives from the plane last. Pei dives from the plane at some time after either Ohba or Larue but not both.",
"question": "Which one of the following must be true?",
"options": [
"A) At least two of the members dive from the plane after Larue.",
"B) At least two of the members dive from the plane after Ohba.",
"C) At least two of the members dive from the plane after Pei.",
"D) At least two of the members dive from the plane after Trevino.",
"E) At least two of the members dive from the plane after Weiss."
],
"answer": "D"
},
{
"id": "ar_lsat_201106_2-G_2_8",
"context": "Exactly six members of a skydiving team—Larue, Ohba, Pei, Trevino, Weiss, and Zacny—each dive exactly once, one at a time, from a plane, consistent with the following conditions: Trevino dives from the plane at some time before Weiss does. Larue dives from the plane either first or last. Neither Weiss nor Zacny dives from the plane last. Pei dives from the plane at some time after either Ohba or Larue but not both.",
"question": "If Larue dives from the plane last, then each of the following could be true EXCEPT:",
"options": [
"A) Trevino dives from the plane fourth.",
"B) Weiss dives from the plane fourth.",
"C) Ohba dives from the plane fifth.",
"D) Pei dives from the plane fifth.",
"E) Zacny dives from the plane fifth."
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_2_9",
"context": "Exactly six members of a skydiving team—Larue, Ohba, Pei, Trevino, Weiss, and Zacny—each dive exactly once, one at a time, from a plane, consistent with the following conditions: Trevino dives from the plane at some time before Weiss does. Larue dives from the plane either first or last. Neither Weiss nor Zacny dives from the plane last. Pei dives from the plane at some time after either Ohba or Larue but not both.",
"question": "If Zacny dives from the plane immediately after Weiss, then which one of the following must be false?",
"options": [
"A) Larue dives from the plane first.",
"B) Trevino dives from the plane third.",
"C) Zacny dives from the plane third.",
"D) Pei dives from the plane fourth.",
"E) Zacny dives from the plane fourth."
],
"answer": "D"
},
{
"id": "ar_lsat_201106_2-G_2_10",
"context": "Exactly six members of a skydiving team—Larue, Ohba, Pei, Trevino, Weiss, and Zacny—each dive exactly once, one at a time, from a plane, consistent with the following conditions: Trevino dives from the plane at some time before Weiss does. Larue dives from the plane either first or last. Neither Weiss nor Zacny dives from the plane last. Pei dives from the plane at some time after either Ohba or Larue but not both.",
"question": "If Trevino dives from the plane immediately after Larue, then each of the following could be true EXCEPT:",
"options": [
"A) Ohba dives from the plane third.",
"B) Weiss dives from the plane third.",
"C) Zacny dives from the plane third.",
"D) Pei dives from the plane fourth.",
"E) Weiss dives from the plane fourth."
],
"answer": "A"
},
{
"id": "ar_lsat_201106_2-G_3_11",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "Which one of the following could be the order in which the vehicles are serviced, from Monday through Saturday?",
"options": [
"A) the hatchback, the pickup, the sedan, the limousine, the van, the roadster",
"B) the pickup, the sedan, the van, the roadster, the hatchback, the limousine",
"C) the pickup, the van, the sedan, the roadster, the limousine, the hatchback",
"D) the van, the roadster, the pickup, the hatchback, the sedan, the limousine",
"E) the van, the sedan, the pickup, the roadster, the hatchback, the limousine"
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_3_12",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "Which one of the following CANNOT be the vehicle serviced on Thursday?",
"options": [
"A) the hatchback",
"B) the limousine",
"C) the pickup",
"D) the sedan",
"E) the van"
],
"answer": "E"
},
{
"id": "ar_lsat_201106_2-G_3_13",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "If neither the pickup nor the limousine is serviced on Monday, then which one of the following must be true?",
"options": [
"A) The hatchback and the limousine are serviced on consecutive days.",
"B) The hatchback and the sedan are serviced on consecutive days.",
"C) The van is serviced on Monday.",
"D) The limousine is serviced on Saturday.",
"E) The pickup is serviced on Saturday."
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_3_14",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "If the limousine is not serviced on Saturday, then each of the following could be true EXCEPT:",
"options": [
"A) The limousine is serviced on Monday.",
"B) The roadster is serviced on Tuesday.",
"C) The hatchback is serviced on Wednesday.",
"D) The roadster is serviced on Wednesday.",
"E) The sedan is serviced on Wednesday."
],
"answer": "E"
},
{
"id": "ar_lsat_201106_2-G_3_15",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "If the sedan is serviced earlier in the week than the pickup, then which one of the following could be true?",
"options": [
"A) The limousine is serviced on Wednesday.",
"B) The sedan is serviced on Wednesday.",
"C) The van is serviced on Wednesday.",
"D) The hatchback is serviced on Friday.",
"E) The limousine is serviced on Saturday."
],
"answer": "A"
},
{
"id": "ar_lsat_201106_2-G_3_16",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "If the limousine is serviced on Saturday, then which one of the following must be true?",
"options": [
"A) The pickup is serviced earlier in the week than the roadster.",
"B) The pickup is serviced earlier in the week than the sedan.",
"C) The sedan is serviced earlier in the week than the roadster.",
"D) The hatchback and the limousine are serviced on consecutive days.",
"E) The roadster and the hatchback are serviced on consecutive days."
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_3_17",
"context": "A company's six vehicles—a hatchback, a limousine, a pickup, a roadster, a sedan, and a van—are serviced during a certain week—Monday through Saturday—one vehicle per day. The following conditions must apply: At least one of the vehicles is serviced later in the week than the hatchback. The roadster is serviced later in the week than the van and earlier in the week than the hatchback. Either the pickup and the van are serviced on consecutive days, or the pickup and the sedan are serviced on consecutive days, but not both. The sedan is serviced earlier in the week than the pickup or earlier in the week than the limousine, but not both.",
"question": "Which one of the following could be the list of the vehicles serviced on Tuesday, Wednesday, and Friday, listed in that order?",
"options": [
"A) the pickup, the hatchback, the limousine",
"B) the pickup, the roadster, the hatchback",
"C) the sedan, the limousine, the hatchback",
"D) the van, the limousine, the hatchback",
"E) the van, the roadster, the limousine"
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_4_18",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "If there are exactly two white balls, then which one of the following boxes could contain a green ball?",
"options": [
"A) box 1",
"B) box 3",
"C) box 4",
"D) box 5",
"E) box 6"
],
"answer": "B"
},
{
"id": "ar_lsat_201106_2-G_4_19",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "If there are green balls in boxes 5 and 6, then which one of the following could be true?",
"options": [
"A) There are red balls in boxes 1 and 4.",
"B) There are red balls in boxes 2 and 4.",
"C) There is a white ball in box 1.",
"D) There is a white ball in box 2.",
"E) There is a white ball in box 3."
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_4_20",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "The ball in which one of the following boxes must be the same color as at least one of the other balls?",
"options": [
"A) box 2",
"B) box 3",
"C) box 4",
"D) box 5",
"E) box 6"
],
"answer": "E"
},
{
"id": "ar_lsat_201106_2-G_4_21",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "Which one of the following must be true?",
"options": [
"A) There is a green ball in a box that is lower than box 4.",
"B) There is a green ball in a box that is higher than box 4.",
"C) There is a red ball in a box that is lower than box 4.",
"D) There is a red ball in a box that is higher than box 4.",
"E) There is a white ball in a box that is lower than box 4."
],
"answer": "A"
},
{
"id": "ar_lsat_201106_2-G_4_22",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "If there are red balls in boxes 2 and 3, then which one of the following could be true?",
"options": [
"A) There is a red ball in box 1.",
"B) There is a white ball in box 1.",
"C) There is a green ball in box 4.",
"D) There is a red ball in box 5.",
"E) There is a white ball in box 6."
],
"answer": "C"
},
{
"id": "ar_lsat_201106_2-G_4_23",
"context": "A street entertainer has six boxes stacked one on top of the other and numbered consecutively 1 through 6, from the lowest box up to the highest. Each box contains a single ball, and each ball is one of three colors—green, red, or white. Onlookers are to guess the color of each ball in each box, given that the following conditions hold: There are more red balls than white balls. There is a box containing a green ball that is lower in the stack than any box that contains a red ball. There is a white ball in a box that is immediately below a box that contains a green ball.",
"question": "If boxes 2, 3, and 4 all contain balls that are the same color as each other, then which one of the following must be true?",
"options": [
"A) Exactly two of the boxes contain a green ball.",
"B) Exactly three of the boxes contain a green ball.",
"C) Exactly three of the boxes contain a red ball.",
"D) Exactly one of the boxes contains a white ball.",
"E) Exactly two of the boxes contain a white ball."
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_1_1",
"context": "A professor must determine the order in which five of her students—Fernando, Ginny, Hakim, Juanita, and Kevin—will perform in an upcoming piano recital. Each student performs one piece, and no two performances overlap. The following constraints apply: Ginny must perform earlier than Fernando. Kevin must perform earlier than Hakim and Juanita. Hakim must perform either immediately before or immediately after Fernando.",
"question": "Which one of the following could be the order, from first to last, in which the students perform?",
"options": [
"A) Ginny, Fernando, Hakim, Kevin, Juanita",
"B) Ginny, Juanita, Kevin, Hakim, Fernando",
"C) Ginny, Kevin, Hakim, Juanita, Fernando",
"D) Kevin, Ginny, Juanita, Fernando, Hakim",
"E) Kevin, Juanita, Fernando, Hakim, Ginny"
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_1_2",
"context": "A professor must determine the order in which five of her students—Fernando, Ginny, Hakim, Juanita, and Kevin—will perform in an upcoming piano recital. Each student performs one piece, and no two performances overlap. The following constraints apply: Ginny must perform earlier than Fernando. Kevin must perform earlier than Hakim and Juanita. Hakim must perform either immediately before or immediately after Fernando.",
"question": "If Juanita performs earlier than Ginny, then which one of the following could be true?",
"options": [
"A) Fernando performs fourth.",
"B) Ginny performs second.",
"C) Hakim performs third.",
"D) Juanita performs third.",
"E) Kevin performs second."
],
"answer": "A"
},
{
"id": "ar_lsat_201112_2-G_1_3",
"context": "A professor must determine the order in which five of her students—Fernando, Ginny, Hakim, Juanita, and Kevin—will perform in an upcoming piano recital. Each student performs one piece, and no two performances overlap. The following constraints apply: Ginny must perform earlier than Fernando. Kevin must perform earlier than Hakim and Juanita. Hakim must perform either immediately before or immediately after Fernando.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) Fernando performs immediately before Juanita.",
"B) Ginny performs immediately before Hakim.",
"C) Hakim performs immediately before Ginny.",
"D) Juanita performs immediately before Ginny.",
"E) Kevin performs immediately before Hakim."
],
"answer": "C"
},
{
"id": "ar_lsat_201112_2-G_1_4",
"context": "A professor must determine the order in which five of her students—Fernando, Ginny, Hakim, Juanita, and Kevin—will perform in an upcoming piano recital. Each student performs one piece, and no two performances overlap. The following constraints apply: Ginny must perform earlier than Fernando. Kevin must perform earlier than Hakim and Juanita. Hakim must perform either immediately before or immediately after Fernando.",
"question": "The order in which the students perform is fully determined if which one of the following is true?",
"options": [
"A) Fernando performs immediately before Hakim.",
"B) Ginny performs immediately before Fernando.",
"C) Hakim performs immediately before Juanita.",
"D) Juanita performs immediately before Hakim.",
"E) Kevin performs immediately before Fernando."
],
"answer": "E"
},
{
"id": "ar_lsat_201112_2-G_1_5",
"context": "A professor must determine the order in which five of her students—Fernando, Ginny, Hakim, Juanita, and Kevin—will perform in an upcoming piano recital. Each student performs one piece, and no two performances overlap. The following constraints apply: Ginny must perform earlier than Fernando. Kevin must perform earlier than Hakim and Juanita. Hakim must perform either immediately before or immediately after Fernando.",
"question": "How many of the students are there any one of whom could perform fourth?",
"options": [
"A) one",
"B) two",
"C) three",
"D) four",
"E) five"
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_2_6",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "Which one of the following could be the order of the presentations, from first to sixth?",
"options": [
"A) stenciling, origami, needlework, textile making, pottery, woodworking",
"B) stenciling, origami, pottery, woodworking, needlework, textile making",
"C) stenciling, origami, textile making, woodworking, needlework, pottery",
"D) textile making, origami, stenciling, woodworking, needlework, pottery",
"E) textile making, stenciling, woodworking, needlework, pottery, origami"
],
"answer": "C"
},
{
"id": "ar_lsat_201112_2-G_2_7",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "If textile making is presented fifth, which one of the following could be true?",
"options": [
"A) Needlework is presented sixth.",
"B) Pottery is presented fourth.",
"C) Stenciling is presented second.",
"D) Stenciling is presented third.",
"E) Woodworking is presented second."
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_2_8",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "If needlework is presented first, which one of the following could be true?",
"options": [
"A) Origami is presented sixth.",
"B) Pottery is presented second.",
"C) Stenciling is presented third.",
"D) Textile making is presented fifth.",
"E) Woodworking is presented third."
],
"answer": "E"
},
{
"id": "ar_lsat_201112_2-G_2_9",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "Jiang CANNOT give both",
"options": [
"A) the first and third presentations",
"B) the first and fourth presentations",
"C) the first and fifth presentations",
"D) the second and third presentations",
"E) the second and fourth presentations"
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_2_10",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "If needlework is presented sixth, which one of the following must be true?",
"options": [
"A) Origami is presented fourth.",
"B) Pottery is presented fifth.",
"C) Stenciling is presented third.",
"D) Textile making is presented first.",
"E) Woodworking is presented fourth."
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_2_11",
"context": "As part of an open house at a crafts studio, three teachers—Jiang, Kudrow, and Lanning—will give six consecutive presentations on six different subjects. Jiang will present on needlework and origami; Kudrow on pottery, stenciling, and textile making; and Lanning on woodworking. The order of their presentations will meet the following conditions: Kudrow cannot give two presentations in a row. The presentation on stenciling must be given earlier than the one on origami. The presentation on textile making must be given earlier than the one on woodworking.",
"question": "Which one of the following CANNOT be the subject of the second presentation?",
"options": [
"A) needlework",
"B) origami",
"C) pottery",
"D) textile making",
"E) woodworking"
],
"answer": "C"
},
{
"id": "ar_lsat_201112_2-G_3_12",
"context": "The organizer of a luncheon will select exactly five foods to be served from among exactly eight foods: two desserts—F and G; three main courses—N, O, and P; three side dishes—T, V, and W. Only F, N, and T are hot foods. The following requirements will be satisfied: At least one dessert, at least one main course, and at least one side dish must be selected. At least one hot food must be selected. If either P or W is selected, both must be selected. If G is selected, O must be selected. If N is selected, V cannot be selected.",
"question": "Which one of the following is a list of foods that could be the foods selected?",
"options": [
"A) F, N, O, T, V",
"B) F, O, P, T, W",
"C) G, N, P, T, W",
"D) G, O, P, T, V",
"E) G, O, P, V, W"
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_3_13",
"context": "The organizer of a luncheon will select exactly five foods to be served from among exactly eight foods: two desserts—F and G; three main courses—N, O, and P; three side dishes—T, V, and W. Only F, N, and T are hot foods. The following requirements will be satisfied: At least one dessert, at least one main course, and at least one side dish must be selected. At least one hot food must be selected. If either P or W is selected, both must be selected. If G is selected, O must be selected. If N is selected, V cannot be selected.",
"question": "Which one of the following is a pair of foods of which the organizer of the luncheon must select at least one?",
"options": [
"A) F, T",
"B) G, O",
"C) N, T",
"D) O, P",
"E) V, W"
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_3_14",
"context": "The organizer of a luncheon will select exactly five foods to be served from among exactly eight foods: two desserts—F and G; three main courses—N, O, and P; three side dishes—T, V, and W. Only F, N, and T are hot foods. The following requirements will be satisfied: At least one dessert, at least one main course, and at least one side dish must be selected. At least one hot food must be selected. If either P or W is selected, both must be selected. If G is selected, O must be selected. If N is selected, V cannot be selected.",
"question": "If O is the only main course selected, then which one of the following CANNOT be selected?",
"options": [
"A) F",
"B) G",
"C) T",
"D) V",
"E) W"
],
"answer": "E"
},
{
"id": "ar_lsat_201112_2-G_3_15",
"context": "The organizer of a luncheon will select exactly five foods to be served from among exactly eight foods: two desserts—F and G; three main courses—N, O, and P; three side dishes—T, V, and W. Only F, N, and T are hot foods. The following requirements will be satisfied: At least one dessert, at least one main course, and at least one side dish must be selected. At least one hot food must be selected. If either P or W is selected, both must be selected. If G is selected, O must be selected. If N is selected, V cannot be selected.",
"question": "If F is not selected, which one of the following could be true?",
"options": [
"A) P is the only main course selected.",
"B) T is the only side dish selected.",
"C) Exactly two hot foods are selected.",
"D) Exactly three main courses are selected.",
"E) Exactly three side dishes are selected."
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_3_16",
"context": "The organizer of a luncheon will select exactly five foods to be served from among exactly eight foods: two desserts—F and G; three main courses—N, O, and P; three side dishes—T, V, and W. Only F, N, and T are hot foods. The following requirements will be satisfied: At least one dessert, at least one main course, and at least one side dish must be selected. At least one hot food must be selected. If either P or W is selected, both must be selected. If G is selected, O must be selected. If N is selected, V cannot be selected.",
"question": "If T and V are the only side dishes selected, then which one of the following is a pair of foods each of which must be selected?",
"options": [
"A) F and G",
"B) F and N",
"C) F and P",
"D) N and O",
"E) O and P"
],
"answer": "A"
},
{
"id": "ar_lsat_201112_2-G_4_17",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "Which one of the following could be the order in which the programs are shown, from earliest to latest?",
"options": [
"A) Generations, Roamin', Waterloo, Terry, Sundown",
"B) Roamin', Sundown, Waterloo, Terry, Generations",
"C) Roamin', Terry, Waterloo, Generations, Sundown",
"D) Waterloo, Roamin', Sundown, Terry, Generations",
"E) Waterloo, Terry, Sundown, Roamin', Generations"
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_4_18",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "If Waterloo is the first program, then how many orders are there in which the remaining programs could be shown?",
"options": [
"A) one",
"B) two",
"C) three",
"D) four",
"E) five"
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_4_19",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "If Roamin' is the second program, then each of the following could be true EXCEPT:",
"options": [
"A) Sundown is the third program.",
"B) Sundown is the fourth program.",
"C) Terry is the fifth program.",
"D) Waterloo is the third program.",
"E) Waterloo is the fifth program."
],
"answer": "D"
},
{
"id": "ar_lsat_201112_2-G_4_20",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "If Sundown is the third program, then which one of the following must be true?",
"options": [
"A) Generations is the first program.",
"B) Roamin' is the first program.",
"C) Roamin' is the second program.",
"D) Terry is the fifth program.",
"E) Waterloo is the fourth program."
],
"answer": "E"
},
{
"id": "ar_lsat_201112_2-G_4_21",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "If Generations is the third program, then which one of the following could be true?",
"options": [
"A) Roamin' is the second program.",
"B) Roamin' is the fifth program.",
"C) Sundown is the fourth program.",
"D) Terry is the fourth program.",
"E) Waterloo is the second program."
],
"answer": "C"
},
{
"id": "ar_lsat_201112_2-G_4_22",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "Which one of the following CANNOT be true?",
"options": [
"A) Sundown is shown immediately before Generations.",
"B) Waterloo is shown immediately before Roamin'.",
"C) Generations is shown immediately before Sundown.",
"D) Roamin' is shown immediately before Terry.",
"E) Terry is shown immediately before Waterloo."
],
"answer": "B"
},
{
"id": "ar_lsat_201112_2-G_4_23",
"context": "A television programming director is scheduling a three-hour block of programs beginning at 1 P.M. The programs that are to fill this time block include an hour-long program called Generations and four half-hour programs: Roamin', Sundown, Terry, and Waterloo. The programs will be shown one after the other, each program shown exactly once. The schedule must meet the following constraints: Generations starts on the hour rather than the half hour. Terry starts on the half hour rather than the hour. Roamin' is shown earlier than Sundown. If Waterloo is shown earlier than Terry, it is shown immediately before Terry.",
"question": "Which one of the following, if substituted for the constraint that Generations starts on the hour rather than the half hour, would have the same effect in determining the order in which the programs are shown?",
"options": [
"A) Generations is not shown immediately before Terry.",
"B) Generations is either the first program or the fifth.",
"C) Generations is neither the second program nor the fourth.",
"D) If Generations is shown third, then Roamin' is shown first.",
"E) If Generations is not shown first, then it is shown later than Terry."
],
"answer": "C"
},
{
"id": "ar_lsat_201210_3-G_1_1",
"context": "Five students—Manolo, Nadia, Owen, Peng, and Rana—are each to deliver exactly one speech. Speeches are on exactly one of two topics—friendship and liberty. Each student has only one major: two major in geology, two in history, and one in journalism. The following conditions must apply: Exactly two of the students speak on friendship. A geology major and a history major speak on friendship. Manolo speaks on friendship. Rana speaks on liberty. Neither Peng nor Rana is a geology major. Nadia is a geology major.",
"question": "Which one of the following could be a list of the majors of Manolo, Nadia, Owen, Peng, and Rana, respectively?",
"options": [
"A) geology, geology, journalism, journalism, history",
"B) geology, geology, history, history, history",
"C) history, geology, geology, journalism, history",
"D) history, geology, journalism, geology, history",
"E) history, history, geology, journalism, history"
],
"answer": "C"
},
{
"id": "ar_lsat_201210_3-G_1_2",
"context": "Five students—Manolo, Nadia, Owen, Peng, and Rana—are each to deliver exactly one speech. Speeches are on exactly one of two topics—friendship and liberty. Each student has only one major: two major in geology, two in history, and one in journalism. The following conditions must apply: Exactly two of the students speak on friendship. A geology major and a history major speak on friendship. Manolo speaks on friendship. Rana speaks on liberty. Neither Peng nor Rana is a geology major. Nadia is a geology major.",
"question": "If Peng speaks on friendship, then which one of the following could be true?",
"options": [
"A) Manolo is a history major.",
"B) Nadia speaks on friendship.",
"C) Owen speaks on friendship.",
"D) Owen is a journalism major.",
"E) Peng is a journalism major."
],
"answer": "D"
},
{
"id": "ar_lsat_201210_3-G_1_3",
"context": "Five students—Manolo, Nadia, Owen, Peng, and Rana—are each to deliver exactly one speech. Speeches are on exactly one of two topics—friendship and liberty. Each student has only one major: two major in geology, two in history, and one in journalism. The following conditions must apply: Exactly two of the students speak on friendship. A geology major and a history major speak on friendship. Manolo speaks on friendship. Rana speaks on liberty. Neither Peng nor Rana is a geology major. Nadia is a geology major.",
"question": "If Owen is a geology major who speaks on friendship, then which one of the following must be true?",
"options": [
"A) Manolo is a history major.",
"B) Nadia speaks on friendship.",
"C) Peng speaks on friendship.",
"D) Peng is a history major.",
"E) Rana is a journalism major."
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_1_4",
"context": "Five students—Manolo, Nadia, Owen, Peng, and Rana—are each to deliver exactly one speech. Speeches are on exactly one of two topics—friendship and liberty. Each student has only one major: two major in geology, two in history, and one in journalism. The following conditions must apply: Exactly two of the students speak on friendship. A geology major and a history major speak on friendship. Manolo speaks on friendship. Rana speaks on liberty. Neither Peng nor Rana is a geology major. Nadia is a geology major.",
"question": "If Nadia speaks on friendship, then which one of the following must be false?",
"options": [
"A) Manolo is a geology major.",
"B) Manolo is a history major.",
"C) Owen is a geology major.",
"D) Peng is a history major.",
"E) Rana is a history major."
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_1_5",
"context": "Five students—Manolo, Nadia, Owen, Peng, and Rana—are each to deliver exactly one speech. Speeches are on exactly one of two topics—friendship and liberty. Each student has only one major: two major in geology, two in history, and one in journalism. The following conditions must apply: Exactly two of the students speak on friendship. A geology major and a history major speak on friendship. Manolo speaks on friendship. Rana speaks on liberty. Neither Peng nor Rana is a geology major. Nadia is a geology major.",
"question": "Rana must be a journalism major if which one of the following is true?",
"options": [
"A) Manolo is a geology major and Peng is a history major.",
"B) Owen is a geology major and Manolo is a history major.",
"C) Owen is a geology major and Peng is a history major.",
"D) Both Manolo and Nadia speak on friendship.",
"E) Both Manolo and Peng speak on friendship."
],
"answer": "C"
},
{
"id": "ar_lsat_201210_3-G_2_6",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "Which one of the following could be the order in which the professors lecture, from first to last?",
"options": [
"A) Powell, Young, Taylor, Shihab, Vaughan, Zabel, Wood",
"B) Taylor, Powell, Shihab, Wood, Vaughan, Young, Zabel",
"C) Taylor, Vaughan, Shihab, Wood, Powell, Young, Zabel",
"D) Vaughan, Taylor, Shihab, Powell, Wood, Zabel, Young",
"E) Young, Taylor, Shihab, Powell, Vaughan, Zabel, Wood"
],
"answer": "B"
},
{
"id": "ar_lsat_201210_3-G_2_7",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "Which one of the following could lecture first?",
"options": [
"A) Shihab",
"B) Vaughan",
"C) Wood",
"D) Young",
"E) Zabel"
],
"answer": "B"
},
{
"id": "ar_lsat_201210_3-G_2_8",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "Which one of the following CANNOT given the second guest lecture?",
"options": [
"A) Powell",
"B) Shihab",
"C) Taylor",
"D) Vaughan",
"E) Wood"
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_2_9",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "If Shihab lectures second and Zabel lectures fourth, then which one of the following could be true?",
"options": [
"A) Powell lectures sixth",
"B) Taylor lectures third",
"C) Vaughan lectures fifth",
"D) Wood lectures fifth",
"E) Young lectures third"
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_2_10",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "Which one of the following CANNOT be the guest lecture that Vaughan gives?",
"options": [
"A) second",
"B) third",
"C) fourth",
"D) sixth",
"E) seventh"
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_2_11",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "If Young lectures fourth and Taylor lectures first, then which one of the following must be true?",
"options": [
"A) Powell lectures no earlier than sixth",
"B) Shihab lectures second.",
"C) Vaughan lectures no later than third.",
"D) Wood lectures seventh.",
"E) Zabel lectures no earlier than sixth."
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_2_12",
"context": "Each of exactly seven professors—Powell, Shihab, Taylor, Vaughan, Wood, Young, and Zabel—gives exactly one guest lecture in the literary theory course. The lectures are ordered from first through seventh, and their order must conform to the following: Powell lectures before Wood. Taylor lectures before Shihab. Vaughan lectures before Zabel. Shihab is no later than third. Young is not seventh. Powell lectures first if, but only if, Young lectures before Vaughan.",
"question": "If Zabel lectures fourth, then which one of the following could be true?",
"options": [
"A) Powell lectures second.",
"B) Powell lectures seventh.",
"C) Wood lectures third.",
"D) Young lectures second.",
"E) Young lectures sixth."
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_3_13",
"context": "A toy retailer is opening a small satellite store with exactly three aisles, numbered from 1 (lowest) to 3 (highest). Six sections—Fantasy, Hobbies, Music, Puzzles, Reading, and Science—will each be confined to exactly one aisle, with each aisle containing at least one of the sections. The following conditions hold: Reading must be located in the same aisle as either Fantasy or Music. Fantasy must be located in a lower-numbered aisle than both Music and Puzzles. Science must be located in a lower-numbered aisle than Puzzles. Science cannot be located in a lower-numbered aisle than Hobbies.",
"question": "If aisle 1 contains Hobbies only, which one of the following could be true?",
"options": [
"A) Fantasy is located in aisle 3.",
"B) Music is located in aisle 2.",
"C) Puzzles is located in aisle 2.",
"D) Reading is located in aisle 3.",
"E) Science is located in aisle 3."
],
"answer": "D"
},
{
"id": "ar_lsat_201210_3-G_3_14",
"context": "A toy retailer is opening a small satellite store with exactly three aisles, numbered from 1 (lowest) to 3 (highest). Six sections—Fantasy, Hobbies, Music, Puzzles, Reading, and Science—will each be confined to exactly one aisle, with each aisle containing at least one of the sections. The following conditions hold: Reading must be located in the same aisle as either Fantasy or Music. Fantasy must be located in a lower-numbered aisle than both Music and Puzzles. Science must be located in a lower-numbered aisle than Puzzles. Science cannot be located in a lower-numbered aisle than Hobbies.",
"question": "If aisle 3 contains Puzzles only, which one of the following must be true?",
"options": [
"A) Fantasy is located in aisle 1.",
"B) Hobbies is located in aisle 1.",
"C) Music is located in aisle 1.",
"D) Reading is located in aisle 1.",
"E) Science is located in aisle 2."
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_3_15",
"context": "A toy retailer is opening a small satellite store with exactly three aisles, numbered from 1 (lowest) to 3 (highest). Six sections—Fantasy, Hobbies, Music, Puzzles, Reading, and Science—will each be confined to exactly one aisle, with each aisle containing at least one of the sections. The following conditions hold: Reading must be located in the same aisle as either Fantasy or Music. Fantasy must be located in a lower-numbered aisle than both Music and Puzzles. Science must be located in a lower-numbered aisle than Puzzles. Science cannot be located in a lower-numbered aisle than Hobbies.",
"question": "If each aisle contains exactly two of the six sections, then Science must be located in the same aisle as",
"options": [
"A) Fantasy",
"B) Hobbies",
"C) Music",
"D) Puzzles",
"E) Reading"
],
"answer": "B"
},
{
"id": "ar_lsat_201210_3-G_3_16",
"context": "A toy retailer is opening a small satellite store with exactly three aisles, numbered from 1 (lowest) to 3 (highest). Six sections—Fantasy, Hobbies, Music, Puzzles, Reading, and Science—will each be confined to exactly one aisle, with each aisle containing at least one of the sections. The following conditions hold: Reading must be located in the same aisle as either Fantasy or Music. Fantasy must be located in a lower-numbered aisle than both Music and Puzzles. Science must be located in a lower-numbered aisle than Puzzles. Science cannot be located in a lower-numbered aisle than Hobbies.",
"question": "Which one of the following CANNOT be the list of the sections located in aisle 2?",
"options": [
"A) Hobbies, Music",
"B) Music, Reading",
"C) Music, Science",
"D) Hobbies, Music, Science",
"E) Music, Reading, Science"
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_3_17",
"context": "A toy retailer is opening a small satellite store with exactly three aisles, numbered from 1 (lowest) to 3 (highest). Six sections—Fantasy, Hobbies, Music, Puzzles, Reading, and Science—will each be confined to exactly one aisle, with each aisle containing at least one of the sections. The following conditions hold: Reading must be located in the same aisle as either Fantasy or Music. Fantasy must be located in a lower-numbered aisle than both Music and Puzzles. Science must be located in a lower-numbered aisle than Puzzles. Science cannot be located in a lower-numbered aisle than Hobbies.",
"question": "If aisle 2 contains Science only, then each of the following must be true EXCEPT:",
"options": [
"A) Fantasy is located in aisle 1.",
"B) Hobbies is located in aisle 1.",
"C) Music is located in aisle 3.",
"D) Puzzles is located in aisle 3.",
"E) Reading is located in aisle 1."
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_4_18",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "Which one of the following is an allowable way of designating subzones within the three zones?",
"options": [
"A) Z1: no designated subzones Z2: one housing subzone, two retail subzones Z3: one industrial subzone, one retail subzone",
"B) Z1: one housing subzone, one industrial subzone Z2: two housing subzones, one retail subzone Z3: one industrial subzone, one retail subzone",
"C) Z1: one housing subzone, one retail subzone Z2: two housing subzones, one retail subzone Z3: one industrial subzone, one retail subzone",
"D) Z1: one industrial subzone Z2: three housing subzones Z3: three retail subzones",
"E) Z1: one industrial subzone Z2: two housing subzones, one retail subzone Z3: one industrial subzone, two retail subzones"
],
"answer": "E"
},
{
"id": "ar_lsat_201210_3-G_4_19",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "Which one of the following CANNOT be true within a single zone?",
"options": [
"A) Two subzones are designated, one housing and one retail.",
"B) Two subzones are designated, one industrial and one retail.",
"C) Three subzones are designated, all of them retail.",
"D) Four subzones are designated, none of them industrial.",
"E) Four subzones are designated, two retail and two industrial."
],
"answer": "D"
},
{
"id": "ar_lsat_201210_3-G_4_20",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "What is the maximum number of designated subzones allowed in Z3?",
"options": [
"A) 2",
"B) 3",
"C) 4",
"D) 5",
"E) 6"
],
"answer": "D"
},
{
"id": "ar_lsat_201210_3-G_4_21",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "If three subzones are designated for each use, then which one of the following is allowed?",
"options": [
"A) Exactly one subzone in Z3 is designated for industrial use and exactly one subzone in Z3 is designated for retail use.",
"B) Exactly two subzones in Z2 are designated for housing.",
"C) Three subzones in Z1 are designated for industrial use.",
"D) Three subzones in Z2 are designated for industrial use and exactly one subzone in Z2 is designated for retail use.",
"E) Three subzones in Z3 are designated for retail use."
],
"answer": "B"
},
{
"id": "ar_lsat_201210_3-G_4_22",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "If one subzone in each of the zones is designated for industrial use, then which one of the following is allowed?",
"options": [
"A) More subzones are designated for retail use in Z2 than in Z3.",
"B) A subzone in one of the zones is designated for housing.",
"C) Exactly two subzones are designated in Z1.",
"D) Exactly three subzones each are designated in Z2 and Z3.",
"E) Exactly four subzones are designated in Z3."
],
"answer": "A"
},
{
"id": "ar_lsat_201210_3-G_4_23",
"context": "Millville has created three new development zones: Z1, Z2, and Z3. Within these zones, subzones can be designated for housing, industrial, or retail use, with no subzone designated for more than one use. By city regulation, a total of no more than three subzones can be designated for each of the three uses. The following restrictions are in place: Retail subzones are not allowed in Z1. No more than two subzones for housing are allowed in any particular zone. No more than one retail subzone is allowed in any zone in which a subzone is designated for housing. Industrial subzones are not allowed in any zone in which a subzone is designated for housing or three subzones are designated for retail use.",
"question": "If three subzones in all are designated for retail use and a subzone in Z2 is designated for housing, then which one of the following is allowed?",
"options": [
"A) Two subzones in Z1 are designated for housing.",
"B) More subzones are designated for industrial use in Z2 than in Z3.",
"C) More subzones are designated for retail use in Z2 than in Z3.",
"D) The same number of subzones are designated for retail use in Z2 and Z3.",
"E) A subzone in Z3 is designated for housing."
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_1_1",
"context": "A researcher is studying seven manuscripts—F, G, H, L, M, P, and S—to determine their relative ages. It is known that no two manuscripts were written at the same time. The researcher has also determined the following: H was written earlier than S but later than F. P was the next manuscript written after G. At least four of the manuscripts were written earlier than L. At least four of the manuscripts were written later than M. H was not written fifth.",
"question": "Which one of the following could be the order in which the manuscripts were written, from first to last?",
"options": [
"A) F, M, G, H, P, L, S",
"B) G, P, M, F, H, S, L",
"C) H, F, M, G, P, L, S",
"D) L, F, M, G, P, H, S",
"E) M, F, H, S, L, G, P"
],
"answer": "E"
},
{
"id": "ar_lsat_201306_2-G_1_2",
"context": "A researcher is studying seven manuscripts—F, G, H, L, M, P, and S—to determine their relative ages. It is known that no two manuscripts were written at the same time. The researcher has also determined the following: H was written earlier than S but later than F. P was the next manuscript written after G. At least four of the manuscripts were written earlier than L. At least four of the manuscripts were written later than M. H was not written fifth.",
"question": "Which one of the following manuscripts CANNOT have been written third?",
"options": [
"A) S",
"B) P",
"C) M",
"D) H",
"E) G"
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_1_3",
"context": "A researcher is studying seven manuscripts—F, G, H, L, M, P, and S—to determine their relative ages. It is known that no two manuscripts were written at the same time. The researcher has also determined the following: H was written earlier than S but later than F. P was the next manuscript written after G. At least four of the manuscripts were written earlier than L. At least four of the manuscripts were written later than M. H was not written fifth.",
"question": "If H was the next manuscript written after M, which one of the following could be true?",
"options": [
"A) F was written second.",
"B) G was written third.",
"C) H was written fourth.",
"D) P was written third.",
"E) S was written fourth."
],
"answer": "E"
},
{
"id": "ar_lsat_201306_2-G_1_4",
"context": "A researcher is studying seven manuscripts—F, G, H, L, M, P, and S—to determine their relative ages. It is known that no two manuscripts were written at the same time. The researcher has also determined the following: H was written earlier than S but later than F. P was the next manuscript written after G. At least four of the manuscripts were written earlier than L. At least four of the manuscripts were written later than M. H was not written fifth.",
"question": "Which one of the following manuscripts CANNOT have been written fourth?",
"options": [
"A) F",
"B) G",
"C) H",
"D) P",
"E) S"
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_1_5",
"context": "A researcher is studying seven manuscripts—F, G, H, L, M, P, and S—to determine their relative ages. It is known that no two manuscripts were written at the same time. The researcher has also determined the following: H was written earlier than S but later than F. P was the next manuscript written after G. At least four of the manuscripts were written earlier than L. At least four of the manuscripts were written later than M. H was not written fifth.",
"question": "If P was written earlier than H, then any of the following could be true EXCEPT:",
"options": [
"A) F was written first.",
"B) G was written third.",
"C) H was written sixth.",
"D) L was written seventh.",
"E) M was written second."
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_2_6",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "Which one of the following is an acceptable placement of dishes on the bottom, middle, and top shelves?",
"options": [
"A) bottom: dish 1 middle: dish 6 top: dishes 2, 3, 4, 5",
"B) bottom: dishes 1, 3 middle: dish 6 top: dishes 2, 4, 5",
"C) bottom: dish 2 middle: dishes 4, 6 top: dishes 1, 3, 5",
"D) bottom: dishes 3, 5 middle: dish 6 top: dishes 1, 2, 4",
"E) bottom: dishes 4, 6 middle: dishes 1, 3 top: dishes 2, 5"
],
"answer": "B"
},
{
"id": "ar_lsat_201306_2-G_2_7",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "If dish 6 is the only dish stored on the bottom shelf, which one of the following could be the list of dishes that are stored together on the middle shelf?",
"options": [
"A) dish 1, dish 3",
"B) dish 2, dish 4",
"C) dish 2, dish 3",
"D) dish 3, dish 5",
"E) dish 4, dish 5"
],
"answer": "E"
},
{
"id": "ar_lsat_201306_2-G_2_8",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "If dish 1, dish 2, and dish 3 are stored on the same shelf as each other, which one of the following could be true?",
"options": [
"A) Exactly one of the dishes is stored on the top shelf.",
"B) Exactly two of the dishes are stored on the top shelf.",
"C) Exactly two of the dishes are stored on the middle shelf.",
"D) Exactly three of the dishes are stored on the middle shelf.",
"E) Exactly three of the dishes are stored on the bottom shelf."
],
"answer": "C"
},
{
"id": "ar_lsat_201306_2-G_2_9",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "If exactly one of the shelves has no dish stored on it, which one of the following must be true?",
"options": [
"A) Exactly three of the dishes are stored on the bottom shelf.",
"B) Exactly three of the dishes are stored on the middle shelf.",
"C) Dish 1 is stored on the same shelf as dish 5.",
"D) Dish 2 is stored on the same shelf as dish 3.",
"E) Dish 4 is stored on the same shelf as dish 5."
],
"answer": "B"
},
{
"id": "ar_lsat_201306_2-G_2_10",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "If dish 5 is the only dish stored on the bottom shelf and if exactly two of the dishes are stored on the middle shelf, then which one of the following is a pair of dishes that must be among the dishes stored on the top shelf?",
"options": [
"A) dish 1 and dish 2",
"B) dish 1 and dish 6",
"C) dish 2 and dish 3",
"D) dish 2 and dish 4",
"E) dish 3 and dish 4"
],
"answer": "C"
},
{
"id": "ar_lsat_201306_2-G_2_11",
"context": "Exactly six petri dishes—labeled dish 1 through dish 6—are to be stored in an otherwise empty refrigerator. There are three available shelves—the bottom shelf, the middle shelf, and the top shelf. The placement of the dishes must be consistent with the following conditions: No more than three dishes are stored on any shelf. Dish 2 is stored at least one shelf above dish 6. Dish 6 is stored either one shelf above or one shelf below dish 5. Dish 1 is not stored on the same shelf as dish 4.",
"question": "If exactly one of the dishes is stored on the middle shelf, which one of the following could be the list of dishes stored on the top shelf?",
"options": [
"A) dish 1, dish 2",
"B) dish 1, dish 5",
"C) dish 2, dish 3",
"D) dish 3, dish 4",
"E) dish 3, dish 5"
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_3_12",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "Which one of the following could be the schedule of deliveries to the schools, from the first to the fourth?",
"options": [
"A) Juices: Hafford, Ferndale, Gladstone, Isley Snacks: Ferndale, Isley, Gladstone, Hafford",
"B) Juices: Hafford, Isley, Ferndale, Gladstone Snacks: Isley, Ferndale, Gladstone, Hafford",
"C) Juices: Isley, Ferndale, Gladstone, Hafford Snacks: Hafford, Ferndale, Gladstone, Isley",
"D) Juices: Isley, Gladstone, Ferndale, Hafford Snacks: Ferndale, Gladstone, Hafford, Isley",
"E) Juices: Isley, Hafford, Gladstone, Ferndale Snacks: Ferndale, Isley, Gladstone, Hafford"
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_3_13",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "If Hafford is the fourth school to which juices are delivered, which one of the following must be true?",
"options": [
"A) Ferndale is the second school to which juices are delivered.",
"B) Gladstone is the third school to which juices are delivered.",
"C) Ferndale is the second school to which snacks are delivered.",
"D) Hafford is the second school to which snacks are delivered.",
"E) Isley is the first school to which snacks are delivered."
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_3_14",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "If Isley is the third school to which juices are delivered, which one of the following could be true?",
"options": [
"A) Juices are delivered to Gladstone at some time before they are delivered to Hafford.",
"B) Juices are delivered to Isley at some time before they are delivered to Hafford.",
"C) Snacks are delivered to Ferndale at some time before they are delivered to Isley.",
"D) Snacks are delivered to Gladstone at some time before they are delivered to Isley.",
"E) Snacks are delivered to Hafford at some time before they are delivered to Gladstone."
],
"answer": "C"
},
{
"id": "ar_lsat_201306_2-G_3_15",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "If Isley is the first school to which snacks are delivered, which one of the following could be true?",
"options": [
"A) Ferndale is the second school to which juices are delivered.",
"B) Hafford is the second school to which juices are delivered.",
"C) Hafford is the third school to which juices are delivered.",
"D) Isley is the first school to which juices are delivered.",
"E) Hafford is the second school to which snacks are delivered."
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_3_16",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "Which one of the following could be true?",
"options": [
"A) Both juices and snacks are delivered to Gladstone at some time before they are delivered to Ferndale.",
"B) Both juices and snacks are delivered to Gladstone at some time before they are delivered to Isley.",
"C) Both juices and snacks are delivered to Hafford at some time before they are delivered to Isley.",
"D) Both juices and snacks are delivered to Isley at some time before they are delivered to Ferndale.",
"E) Both juices and snacks are delivered to Isley at some time before they are delivered to Hafford."
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_3_17",
"context": "A company operates vending machines in four schools: Ferndale, Gladstone, Hafford, and Isley. The company delivers juices in one of its two trucks and snacks in the other truck. Each week, exactly one delivery of juices and exactly one delivery of snacks is made to each school, subject to the following conditions: Snacks must be delivered to Ferndale at some time before they are delivered to Hafford. Gladstone cannot be the fourth school to which juices are delivered. Gladstone must be the third school to which snacks are delivered. The first school to which juices are delivered must be the fourth one to which snacks are delivered.",
"question": "Which one of the following, if substituted for the condition that Gladstone cannot be the fourth school to which juices are delivered, would have the same effect in determining the delivery schedule?",
"options": [
"A) Ferndale must be either the second school or the fourth school to which juices are delivered.",
"B) Gladstone must be either the second school or the third school to which juices are delivered.",
"C) Hafford must be either the first school or the fourth school to which juices are delivered.",
"D) The first school to which juices are delivered must be either Ferndale or Isley.",
"E) The fourth school to which juices are delivered must be either Hafford or Isley."
],
"answer": "B"
},
{
"id": "ar_lsat_201306_2-G_4_18",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "Which one of the following could be the assignment of paralegals to cases?",
"options": [
"A) Raimes: Frank Sicoli: Gina, Hiro, Kevin Thompson: Laurie",
"B) Raimes: Kevin Sicoli: Gina Thompson: Frank, Hiro, Laurie",
"C) Raimes: Gina, Kevin Sicoli: Frank, Hiro Thompson: Laurie",
"D) Raimes: Kevin, Laurie Sicoli: Gina, Hiro Thompson: Frank",
"E) Raimes: Frank, Kevin, Laurie Sicoli: Hiro Thompson: Gina"
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_4_19",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "Which one of the following CANNOT be the complete assignment of paralegals to the Sicoli case?",
"options": [
"A) Frank, Hiro, Kevin",
"B) Frank, Hiro, Laurie",
"C) Gina, Hiro, Kevin",
"D) Gina, Hiro, Laurie",
"E) Hiro, Kevin, Laurie"
],
"answer": "E"
},
{
"id": "ar_lsat_201306_2-G_4_20",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "If exactly two of the paralegals are assigned to the Thompson case, then which one of the following could be the complete assignment of paralegals to the Raimes case?",
"options": [
"A) Gina",
"B) Kevin",
"C) Laurie",
"D) Gina, Kevin",
"E) Kevin, Laurie"
],
"answer": "A"
},
{
"id": "ar_lsat_201306_2-G_4_21",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "If one of the cases has Gina and Laurie as the only paralegals assigned to it, then each of the following must be false EXCEPT:",
"options": [
"A) Frank is assigned to the Raimes case.",
"B) Frank is assigned to the Sicoli case.",
"C) Gina is assigned to the Raimes case.",
"D) Kevin is assigned to the Raimes case.",
"E) Laurie is assigned to the Thompson case."
],
"answer": "C"
},
{
"id": "ar_lsat_201306_2-G_4_22",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "Which one of the following CANNOT be the complete assignment of paralegals to the Thompson case?",
"options": [
"A) Gina",
"B) Laurie",
"C) Gina, Kevin",
"D) Gina, Laurie",
"E) Kevin, Laurie"
],
"answer": "D"
},
{
"id": "ar_lsat_201306_2-G_4_23",
"context": "Each of five paralegals—Frank, Gina, Hiro, Kevin, and Laurie—is being assigned to exactly one of three cases—the Raimes, Sicoli, or Thompson case. At least one paralegal will be assigned to each case. The following conditions must apply: Either Frank is assigned to Raimes and Kevin is assigned to Thompson, or Frank is not assigned to Raimes and Kevin is not assigned to Thompson. Either Frank is the sole paralegal assigned to his case or Gina is the sole paralegal assigned to her case, but not both. Hiro is assigned to Sicoli.",
"question": "If Kevin is the sole paralegal assigned to one of the cases then which one of the following lists all of the paralegals any one of",
"options": [
"A) Frank, Kevin, Laurie",
"B) Frank, Kevin",
"C) Frank",
"D) Gina",
"E) Kevin"
],
"answer": "B"
},
{
"id": "ar_lsat_201409_3-G_1_1",
"context": "A record producer is planning the contents of a CD consisting of a sequence of exactly five instrumental pieces—Reciprocity, Salammbo, Trapezoid, Vancouver, and Wisteria. To create and sustain certain moods, the sequence of pieces will satisfy the following constraints: Salammbo must be earlier than Vancouver. Trapezoid must either be earlier than both Reciprocity and Salammbo or later than both Reciprocity and Salammbo. Wisteria must either be earlier than both Reciprocity and Trapezoid or later than both Reciprocity and Trapezoid.",
"question": "The five pieces could appear in which one of the following sequences on the CD, in order from first to last?",
"options": [
"A) Reciprocity, Trapezoid, Wisteria, Salammbo, Vancouver",
"B) Salammbo, Reciprocity, Trapezoid, Vancouver, Wisteria",
"C) Trapezoid, Wisteria, Salammbo, Vancouver, Reciprocity",
"D) Vancouver, Wisteria, Salammbo, Reciprocity, Trapezoid",
"E) Wisteria, Salammbo, Vancouver, Trapezoid, Reciprocity"
],
"answer": "B"
},
{
"id": "ar_lsat_201409_3-G_1_2",
"context": "A record producer is planning the contents of a CD consisting of a sequence of exactly five instrumental pieces—Reciprocity, Salammbo, Trapezoid, Vancouver, and Wisteria. To create and sustain certain moods, the sequence of pieces will satisfy the following constraints: Salammbo must be earlier than Vancouver. Trapezoid must either be earlier than both Reciprocity and Salammbo or later than both Reciprocity and Salammbo. Wisteria must either be earlier than both Reciprocity and Trapezoid or later than both Reciprocity and Trapezoid.",
"question": "If Salammbo is the fourth piece on the CD, then which one of the following must be true?",
"options": [
"A) Reciprocity is earlier on the CD than Wisteria.",
"B) Salammbo is earlier on the CD than Trapezoid.",
"C) Trapezoid is earlier on the CD than Reciprocity.",
"D) Vancouver is earlier on the CD than Wisteria.",
"E) Wisteria is earlier on the CD than Trapezoid."
],
"answer": "C"
},
{
"id": "ar_lsat_201409_3-G_1_3",
"context": "A record producer is planning the contents of a CD consisting of a sequence of exactly five instrumental pieces—Reciprocity, Salammbo, Trapezoid, Vancouver, and Wisteria. To create and sustain certain moods, the sequence of pieces will satisfy the following constraints: Salammbo must be earlier than Vancouver. Trapezoid must either be earlier than both Reciprocity and Salammbo or later than both Reciprocity and Salammbo. Wisteria must either be earlier than both Reciprocity and Trapezoid or later than both Reciprocity and Trapezoid.",
"question": "If Reciprocity is the first piece on the CD, then which one of the following could be true?",
"options": [
"A) Trapezoid is the second piece on the CD.",
"B) Vancouver is the third piece on the CD.",
"C) Wisteria is the third piece on the CD.",
"D) Salammbo is the fourth piece on the CD.",
"E) Trapezoid is the last piece on the CD."
],
"answer": "B"
},
{
"id": "ar_lsat_201409_3-G_1_4",
"context": "A record producer is planning the contents of a CD consisting of a sequence of exactly five instrumental pieces—Reciprocity, Salammb
gitextract_0ng_n_ee/
├── .gitignore
├── LICENSE
├── README.md
├── baselines/
│ ├── evaluation.py
│ ├── gpt3_baseline.py
│ ├── icl_examples/
│ │ ├── AR-LSAT_CoT.txt
│ │ ├── AR-LSAT_Direct.txt
│ │ ├── FOLIO_CoT.txt
│ │ ├── FOLIO_Direct.txt
│ │ ├── LogicalDeduction_CoT.txt
│ │ ├── LogicalDeduction_Direct.txt
│ │ ├── ProntoQA_CoT.txt
│ │ ├── ProntoQA_Direct.txt
│ │ ├── ProofWriter_CoT.txt
│ │ └── ProofWriter_Direct.txt
│ └── utils.py
├── data/
│ ├── AR-LSAT/
│ │ ├── dev.json
│ │ ├── test.json
│ │ └── train.json
│ ├── FOLIO/
│ │ ├── dev.json
│ │ └── train.json
│ ├── LogicalDeduction/
│ │ ├── dev.json
│ │ └── train.json
│ ├── ProntoQA/
│ │ └── dev.json
│ └── ProofWriter/
│ ├── dev.json
│ ├── test.json
│ └── train.json
├── models/
│ ├── backup_answer_generation.py
│ ├── evaluation.py
│ ├── logic_inference.py
│ ├── logic_program.py
│ ├── prompts/
│ │ ├── AR-LSAT-long-no-grounding.txt
│ │ ├── AR-LSAT-long.txt
│ │ ├── AR-LSAT.txt
│ │ ├── FOLIO.txt
│ │ ├── LogicalDeduction.txt
│ │ ├── ProntoQA.txt
│ │ ├── ProofWriter.txt
│ │ ├── self-correct-AR-LSAT.txt
│ │ └── self-correct-FOLIO.txt
│ ├── self_refinement.py
│ ├── symbolic_solvers/
│ │ ├── Prover9/
│ │ │ ├── .gdb_history
│ │ │ ├── COPYING
│ │ │ ├── Changelog
│ │ │ ├── Makefile
│ │ │ ├── README.AMD_64
│ │ │ ├── README.first
│ │ │ ├── README.make
│ │ │ ├── README.release-reminder
│ │ │ ├── TODO/
│ │ │ │ ├── ADAM_2007_loose_ends
│ │ │ │ ├── README
│ │ │ │ ├── factor.in
│ │ │ │ ├── mace4-segv.in
│ │ │ │ └── temp
│ │ │ ├── VERSION_DATE.h
│ │ │ ├── apps.examples/
│ │ │ │ ├── BA-sheffer
│ │ │ │ ├── MOL-cand.296
│ │ │ │ ├── Makefile
│ │ │ │ ├── OL.in
│ │ │ │ ├── README
│ │ │ │ ├── backup.Jan14/
│ │ │ │ │ ├── BA-sheffer.out
│ │ │ │ │ ├── MOL-cand.238
│ │ │ │ │ ├── OL.6
│ │ │ │ │ ├── OL.8
│ │ │ │ │ ├── OL.8.out
│ │ │ │ │ ├── OL.8.upper-covers
│ │ │ │ │ ├── lattice-sax.rewritten
│ │ │ │ │ ├── meet-join-equations.out
│ │ │ │ │ ├── mjc01s-equations.out
│ │ │ │ │ ├── qg.iso3
│ │ │ │ │ └── qg.out3
│ │ │ │ ├── backup.Mar10/
│ │ │ │ │ ├── BA-sheffer.out
│ │ │ │ │ ├── MOL-cand.238
│ │ │ │ │ ├── OL.6
│ │ │ │ │ ├── OL.8
│ │ │ │ │ ├── OL.8.out
│ │ │ │ │ ├── OL.8.upper-covers
│ │ │ │ │ ├── lattice-sax.rewritten
│ │ │ │ │ ├── meet-join-equations.out
│ │ │ │ │ ├── mjc01s-equations.out
│ │ │ │ │ ├── qg.iso3
│ │ │ │ │ └── qg.out3
│ │ │ │ ├── distributivity
│ │ │ │ ├── err
│ │ │ │ ├── index.html
│ │ │ │ ├── interp.OL6
│ │ │ │ ├── lattice-sax
│ │ │ │ ├── lattice-sax.id-check
│ │ │ │ ├── lattice.rules
│ │ │ │ ├── meet-join-equations
│ │ │ │ ├── mjc01s-equations
│ │ │ │ ├── non-MOL-OML
│ │ │ │ ├── qg.in
│ │ │ │ ├── run-all
│ │ │ │ └── sed1
│ │ │ ├── apps.src/
│ │ │ │ ├── .gdb_history
│ │ │ │ ├── H65d.givens
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.directproof
│ │ │ │ ├── README.solaris
│ │ │ │ ├── TAGS
│ │ │ │ ├── awk1
│ │ │ │ ├── clausefilter.c
│ │ │ │ ├── clausetester.c
│ │ │ │ ├── complex.c
│ │ │ │ ├── demods
│ │ │ │ ├── demods2
│ │ │ │ ├── directproof.c
│ │ │ │ ├── dprofiles.c
│ │ │ │ ├── g2.model
│ │ │ │ ├── gen_trc_defs.c
│ │ │ │ ├── h1.in
│ │ │ │ ├── h1.out
│ │ │ │ ├── idfilter.c
│ │ │ │ ├── interp3.dtd
│ │ │ │ ├── interp3.xsl
│ │ │ │ ├── interpfilter.c
│ │ │ │ ├── interpformat.c
│ │ │ │ ├── isofilter.c
│ │ │ │ ├── isofilter0.c
│ │ │ │ ├── isofilter2.c
│ │ │ │ ├── latfilter.c
│ │ │ │ ├── lt.dist
│ │ │ │ ├── lt.m3
│ │ │ │ ├── miniscope.c
│ │ │ │ ├── mirror-flip.c
│ │ │ │ ├── notes
│ │ │ │ ├── old/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cdprover.c
│ │ │ │ │ ├── deny.c
│ │ │ │ │ ├── latgen.c
│ │ │ │ │ ├── modelformat.c
│ │ │ │ │ └── undeny.c
│ │ │ │ ├── olfilter.c
│ │ │ │ ├── perm3.c
│ │ │ │ ├── problems
│ │ │ │ ├── proof3.dtd
│ │ │ │ ├── proof3.xsl
│ │ │ │ ├── prooftrans.c
│ │ │ │ ├── py1
│ │ │ │ ├── renamer.c
│ │ │ │ ├── rewriter.c
│ │ │ │ ├── rewriter2.c
│ │ │ │ ├── sed.db-to-queries
│ │ │ │ ├── sed1
│ │ │ │ ├── sed2
│ │ │ │ ├── sig.py
│ │ │ │ ├── sigtest.c
│ │ │ │ ├── t1.in
│ │ │ │ ├── test-directproof/
│ │ │ │ │ ├── 3.1.direct
│ │ │ │ │ ├── 3.1.out
│ │ │ │ │ ├── 3.6.direct
│ │ │ │ │ ├── 3.6.out
│ │ │ │ │ ├── 3b.direct
│ │ │ │ │ ├── 3b.prf
│ │ │ │ │ ├── AD-gt.direct
│ │ │ │ │ ├── AD-gt.out
│ │ │ │ │ ├── bw.direct
│ │ │ │ │ ├── bw.out
│ │ │ │ │ ├── dist-short-long.direct
│ │ │ │ │ ├── dist-short-long.out
│ │ │ │ │ ├── omlsax2.direct
│ │ │ │ │ ├── omlsax2.out
│ │ │ │ │ ├── rba.direct
│ │ │ │ │ ├── rba.out
│ │ │ │ │ ├── results-on-std-examples
│ │ │ │ │ ├── temp
│ │ │ │ │ └── temp0
│ │ │ │ ├── test_clause_eval.c
│ │ │ │ ├── test_complex.c
│ │ │ │ ├── unfast.c
│ │ │ │ └── upper-covers.c
│ │ │ ├── bin/
│ │ │ │ ├── attack
│ │ │ │ ├── autosketches4
│ │ │ │ ├── clausefilter
│ │ │ │ ├── clausetester
│ │ │ │ ├── complex
│ │ │ │ ├── directproof
│ │ │ │ ├── dprofiles
│ │ │ │ ├── fof-prover9
│ │ │ │ ├── gen_trc_defs
│ │ │ │ ├── get_givens
│ │ │ │ ├── get_interps
│ │ │ │ ├── get_kept
│ │ │ │ ├── gvizify
│ │ │ │ ├── idfilter
│ │ │ │ ├── interpfilter
│ │ │ │ ├── interpformat
│ │ │ │ ├── isofilter
│ │ │ │ ├── isofilter0
│ │ │ │ ├── isofilter2
│ │ │ │ ├── ladr_to_tptp
│ │ │ │ ├── latfilter
│ │ │ │ ├── looper
│ │ │ │ ├── mace4
│ │ │ │ ├── miniscope
│ │ │ │ ├── mirror-flip
│ │ │ │ ├── newauto
│ │ │ │ ├── newsax
│ │ │ │ ├── olfilter
│ │ │ │ ├── perm3
│ │ │ │ ├── proof3fo.xsl
│ │ │ │ ├── prooftrans
│ │ │ │ ├── prover9
│ │ │ │ ├── prover9-mace4
│ │ │ │ ├── renamer
│ │ │ │ ├── rewriter
│ │ │ │ ├── sigtest
│ │ │ │ ├── test_clause_eval
│ │ │ │ ├── test_complex
│ │ │ │ ├── tptp_to_ladr
│ │ │ │ ├── unfast
│ │ │ │ └── upper-covers
│ │ │ ├── bob/
│ │ │ │ ├── ChangelogBV
│ │ │ │ ├── ioutil.c
│ │ │ │ ├── ioutil.h
│ │ │ │ ├── just.c
│ │ │ │ └── prooftrans.c
│ │ │ ├── ladr/
│ │ │ │ ├── Changelog.old
│ │ │ │ ├── Makefile
│ │ │ │ ├── Makefile~
│ │ │ │ ├── README.ac-redundancy
│ │ │ │ ├── README.char-types
│ │ │ │ ├── README.kbo
│ │ │ │ ├── README.termorder
│ │ │ │ ├── TAGS
│ │ │ │ ├── a.out
│ │ │ │ ├── ac_redun.c
│ │ │ │ ├── ac_redun.h
│ │ │ │ ├── ac_redun.o
│ │ │ │ ├── accanon.c
│ │ │ │ ├── accanon.h
│ │ │ │ ├── accanon.o
│ │ │ │ ├── attrib.c
│ │ │ │ ├── attrib.h
│ │ │ │ ├── attrib.o
│ │ │ │ ├── avltree.c
│ │ │ │ ├── avltree.h
│ │ │ │ ├── avltree.o
│ │ │ │ ├── backdemod.c
│ │ │ │ ├── backdemod.h
│ │ │ │ ├── backdemod.o
│ │ │ │ ├── banner.c
│ │ │ │ ├── banner.h
│ │ │ │ ├── banner.o
│ │ │ │ ├── basic.c
│ │ │ │ ├── basic.h
│ │ │ │ ├── basic.o
│ │ │ │ ├── btm.c
│ │ │ │ ├── btm.h
│ │ │ │ ├── btm.o
│ │ │ │ ├── btu.c
│ │ │ │ ├── btu.h
│ │ │ │ ├── btu.o
│ │ │ │ ├── clash.c
│ │ │ │ ├── clash.h
│ │ │ │ ├── clash.o
│ │ │ │ ├── clause_eval.c
│ │ │ │ ├── clause_eval.h
│ │ │ │ ├── clause_eval.o
│ │ │ │ ├── clause_misc.c
│ │ │ │ ├── clause_misc.h
│ │ │ │ ├── clause_misc.o
│ │ │ │ ├── clauseid.c
│ │ │ │ ├── clauseid.h
│ │ │ │ ├── clauseid.o
│ │ │ │ ├── clauses.c
│ │ │ │ ├── clauses.c~
│ │ │ │ ├── clauses.h
│ │ │ │ ├── clauses.h.bak
│ │ │ │ ├── clauses.o
│ │ │ │ ├── clausify.c
│ │ │ │ ├── clausify.h
│ │ │ │ ├── clausify.o
│ │ │ │ ├── clist.c
│ │ │ │ ├── clist.h
│ │ │ │ ├── clist.o
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── clock.o
│ │ │ │ ├── cnf.c
│ │ │ │ ├── cnf.h
│ │ │ │ ├── cnf.o
│ │ │ │ ├── compile
│ │ │ │ ├── complex.c
│ │ │ │ ├── complex.h
│ │ │ │ ├── complex.o
│ │ │ │ ├── compress.c
│ │ │ │ ├── compress.h
│ │ │ │ ├── compress.o
│ │ │ │ ├── cycle
│ │ │ │ ├── definitions.c
│ │ │ │ ├── definitions.h
│ │ │ │ ├── definitions.o
│ │ │ │ ├── demod.c
│ │ │ │ ├── demod.h
│ │ │ │ ├── demod.o
│ │ │ │ ├── di_tree.c
│ │ │ │ ├── di_tree.h
│ │ │ │ ├── di_tree.o
│ │ │ │ ├── dioph.c
│ │ │ │ ├── dioph.h
│ │ │ │ ├── dioph.o
│ │ │ │ ├── discrim.c
│ │ │ │ ├── discrim.h
│ │ │ │ ├── discrim.o
│ │ │ │ ├── discrimb.c
│ │ │ │ ├── discrimb.h
│ │ │ │ ├── discrimb.o
│ │ │ │ ├── discrimw.c
│ │ │ │ ├── discrimw.h
│ │ │ │ ├── discrimw.o
│ │ │ │ ├── dollar.c
│ │ │ │ ├── dollar.c.save
│ │ │ │ ├── dollar.h
│ │ │ │ ├── dollar.o
│ │ │ │ ├── dots
│ │ │ │ ├── error
│ │ │ │ ├── fastparse.c
│ │ │ │ ├── fastparse.h
│ │ │ │ ├── fastparse.o
│ │ │ │ ├── fatal.c
│ │ │ │ ├── fatal.h
│ │ │ │ ├── fatal.o
│ │ │ │ ├── features.c
│ │ │ │ ├── features.h
│ │ │ │ ├── features.o
│ │ │ │ ├── flatdemod.c
│ │ │ │ ├── flatdemod.h
│ │ │ │ ├── flatdemod.o
│ │ │ │ ├── flatterm.c
│ │ │ │ ├── flatterm.h
│ │ │ │ ├── flatterm.o
│ │ │ │ ├── formula.c
│ │ │ │ ├── formula.c.work
│ │ │ │ ├── formula.h
│ │ │ │ ├── formula.o
│ │ │ │ ├── fpa.c
│ │ │ │ ├── fpa.h
│ │ │ │ ├── fpa.o
│ │ │ │ ├── fpalist.c
│ │ │ │ ├── fpalist.h
│ │ │ │ ├── fpalist.o
│ │ │ │ ├── glist.c
│ │ │ │ ├── glist.h
│ │ │ │ ├── glist.o
│ │ │ │ ├── hash.c
│ │ │ │ ├── hash.h
│ │ │ │ ├── hash.o
│ │ │ │ ├── header.h
│ │ │ │ ├── hints.c
│ │ │ │ ├── hints.h
│ │ │ │ ├── hints.o
│ │ │ │ ├── html/
│ │ │ │ │ ├── ac_redun.html
│ │ │ │ │ ├── accanon.html
│ │ │ │ │ ├── attrib.html
│ │ │ │ │ ├── avltree.html
│ │ │ │ │ ├── backdemod.html
│ │ │ │ │ ├── banner.html
│ │ │ │ │ ├── basic.html
│ │ │ │ │ ├── btm.html
│ │ │ │ │ ├── btu.html
│ │ │ │ │ ├── clash.html
│ │ │ │ │ ├── clause_eval.html
│ │ │ │ │ ├── clause_misc.html
│ │ │ │ │ ├── clauseid.html
│ │ │ │ │ ├── clauses.html
│ │ │ │ │ ├── clausify.html
│ │ │ │ │ ├── clist.html
│ │ │ │ │ ├── clock.html
│ │ │ │ │ ├── cnf.html
│ │ │ │ │ ├── compress.html
│ │ │ │ │ ├── definitions.html
│ │ │ │ │ ├── demod.html
│ │ │ │ │ ├── di_tree.html
│ │ │ │ │ ├── dioph.html
│ │ │ │ │ ├── discrim.html
│ │ │ │ │ ├── discrimb.html
│ │ │ │ │ ├── discrimw.html
│ │ │ │ │ ├── fastparse.html
│ │ │ │ │ ├── fatal.html
│ │ │ │ │ ├── features.html
│ │ │ │ │ ├── flatdemod.html
│ │ │ │ │ ├── flatterm.html
│ │ │ │ │ ├── formula.html
│ │ │ │ │ ├── fpa.html
│ │ │ │ │ ├── fpalist.html
│ │ │ │ │ ├── glist.html
│ │ │ │ │ ├── hash.html
│ │ │ │ │ ├── hints.html
│ │ │ │ │ ├── ibuffer.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── int_code.html
│ │ │ │ │ ├── interp.html
│ │ │ │ │ ├── ioutil.html
│ │ │ │ │ ├── ivy.html
│ │ │ │ │ ├── just.html
│ │ │ │ │ ├── lindex.html
│ │ │ │ │ ├── listterm.html
│ │ │ │ │ ├── literals.html
│ │ │ │ │ ├── maximal.html
│ │ │ │ │ ├── memory.html
│ │ │ │ │ ├── mindex.html
│ │ │ │ │ ├── multiset.html
│ │ │ │ │ ├── nonport.html
│ │ │ │ │ ├── options.html
│ │ │ │ │ ├── order.html
│ │ │ │ │ ├── paramod.html
│ │ │ │ │ ├── parautil.html
│ │ │ │ │ ├── parse.html
│ │ │ │ │ ├── pindex.html
│ │ │ │ │ ├── random.html
│ │ │ │ │ ├── resolve.html
│ │ │ │ │ ├── sos.html
│ │ │ │ │ ├── std_options.html
│ │ │ │ │ ├── strbuf.html
│ │ │ │ │ ├── string.html
│ │ │ │ │ ├── subsume.html
│ │ │ │ │ ├── symbols.html
│ │ │ │ │ ├── term.html
│ │ │ │ │ ├── termflag.html
│ │ │ │ │ ├── termorder.html
│ │ │ │ │ ├── tlist.html
│ │ │ │ │ ├── top_input.html
│ │ │ │ │ ├── topform.html
│ │ │ │ │ ├── tptp_trans.html
│ │ │ │ │ ├── unify.html
│ │ │ │ │ ├── weight.html
│ │ │ │ │ └── xproofs.html
│ │ │ │ ├── ibuffer.c
│ │ │ │ ├── ibuffer.h
│ │ │ │ ├── ibuffer.o
│ │ │ │ ├── index.h
│ │ │ │ ├── index.html.master
│ │ │ │ ├── int_code.c
│ │ │ │ ├── int_code.c~
│ │ │ │ ├── int_code.h
│ │ │ │ ├── int_code.o
│ │ │ │ ├── interp.c
│ │ │ │ ├── interp.h
│ │ │ │ ├── interp.o
│ │ │ │ ├── ioutil.c
│ │ │ │ ├── ioutil.h
│ │ │ │ ├── ioutil.o
│ │ │ │ ├── ivy.c
│ │ │ │ ├── ivy.h
│ │ │ │ ├── ivy.o
│ │ │ │ ├── just.c
│ │ │ │ ├── just.h
│ │ │ │ ├── just.o
│ │ │ │ ├── kol.pl
│ │ │ │ ├── kol.py
│ │ │ │ ├── ladr.h
│ │ │ │ ├── libladr.a
│ │ │ │ ├── lindex.c
│ │ │ │ ├── lindex.h
│ │ │ │ ├── lindex.o
│ │ │ │ ├── listterm.c
│ │ │ │ ├── listterm.h
│ │ │ │ ├── listterm.o
│ │ │ │ ├── literals.c
│ │ │ │ ├── literals.h
│ │ │ │ ├── literals.o
│ │ │ │ ├── maximal.c
│ │ │ │ ├── maximal.h
│ │ │ │ ├── maximal.o
│ │ │ │ ├── memory.c
│ │ │ │ ├── memory.c~
│ │ │ │ ├── memory.h
│ │ │ │ ├── memory.o
│ │ │ │ ├── mindex.c
│ │ │ │ ├── mindex.h
│ │ │ │ ├── mindex.o
│ │ │ │ ├── multiset.c
│ │ │ │ ├── multiset.h
│ │ │ │ ├── multiset.o
│ │ │ │ ├── nonport.c
│ │ │ │ ├── nonport.h
│ │ │ │ ├── nonport.o
│ │ │ │ ├── options.c
│ │ │ │ ├── options.h
│ │ │ │ ├── options.o
│ │ │ │ ├── order.c
│ │ │ │ ├── order.h
│ │ │ │ ├── order.o
│ │ │ │ ├── paramod.c
│ │ │ │ ├── paramod.h
│ │ │ │ ├── paramod.o
│ │ │ │ ├── parautil.c
│ │ │ │ ├── parautil.h
│ │ │ │ ├── parautil.o
│ │ │ │ ├── parse.c
│ │ │ │ ├── parse.h
│ │ │ │ ├── parse.o
│ │ │ │ ├── pindex.c
│ │ │ │ ├── pindex.h
│ │ │ │ ├── pindex.o
│ │ │ │ ├── pub
│ │ │ │ ├── random.c
│ │ │ │ ├── random.h
│ │ │ │ ├── random.o
│ │ │ │ ├── resolve.c
│ │ │ │ ├── resolve.h
│ │ │ │ ├── resolve.o
│ │ │ │ ├── save/
│ │ │ │ │ ├── attrib.c
│ │ │ │ │ ├── btm.c
│ │ │ │ │ ├── btu.c
│ │ │ │ │ ├── call_weight.c
│ │ │ │ │ ├── clash.c
│ │ │ │ │ ├── clause.c
│ │ │ │ │ ├── clist.c
│ │ │ │ │ ├── cnf.c.alarm
│ │ │ │ │ ├── commands.c
│ │ │ │ │ ├── commands.h
│ │ │ │ │ ├── commands2.c
│ │ │ │ │ ├── detach.c
│ │ │ │ │ ├── detach.h
│ │ │ │ │ ├── detach.h.bak
│ │ │ │ │ ├── detach.o
│ │ │ │ │ ├── discrim.c
│ │ │ │ │ ├── features.c
│ │ │ │ │ ├── formula.c
│ │ │ │ │ ├── fpa.c
│ │ │ │ │ ├── fpalist.c
│ │ │ │ │ ├── fsyms_clist
│ │ │ │ │ ├── glist.c
│ │ │ │ │ ├── goals_to_denials
│ │ │ │ │ ├── hash.c
│ │ │ │ │ ├── interp.c
│ │ │ │ │ ├── interp_remove_skolems
│ │ │ │ │ ├── just.c
│ │ │ │ │ ├── lex_compare
│ │ │ │ │ ├── lindex.c
│ │ │ │ │ ├── mindex.c
│ │ │ │ │ ├── options.c
│ │ │ │ │ ├── parse.c
│ │ │ │ │ ├── pindex.c
│ │ │ │ │ ├── printing
│ │ │ │ │ ├── read_tptp_file.c
│ │ │ │ │ ├── sos.c
│ │ │ │ │ ├── sos.c.old
│ │ │ │ │ ├── sos.h
│ │ │ │ │ ├── sos.h~
│ │ │ │ │ ├── str_toupper
│ │ │ │ │ ├── strbuf.c
│ │ │ │ │ ├── term.c
│ │ │ │ │ ├── unify.c
│ │ │ │ │ ├── weight1.c
│ │ │ │ │ └── weight1.h
│ │ │ │ ├── sed.1
│ │ │ │ ├── sed.symbols
│ │ │ │ ├── sed1
│ │ │ │ ├── sed2
│ │ │ │ ├── sed3
│ │ │ │ ├── std_options.c
│ │ │ │ ├── std_options.h
│ │ │ │ ├── std_options.o
│ │ │ │ ├── strbuf.c
│ │ │ │ ├── strbuf.h
│ │ │ │ ├── strbuf.o
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ ├── string.o
│ │ │ │ ├── subsume.c
│ │ │ │ ├── subsume.h
│ │ │ │ ├── subsume.o
│ │ │ │ ├── symbols.c
│ │ │ │ ├── symbols.c~
│ │ │ │ ├── symbols.h
│ │ │ │ ├── symbols.o
│ │ │ │ ├── t1.in
│ │ │ │ ├── temp
│ │ │ │ ├── temp25
│ │ │ │ ├── term.c
│ │ │ │ ├── term.h
│ │ │ │ ├── term.o
│ │ │ │ ├── termflag.c
│ │ │ │ ├── termflag.h
│ │ │ │ ├── termflag.o
│ │ │ │ ├── termorder.c
│ │ │ │ ├── termorder.h
│ │ │ │ ├── termorder.o
│ │ │ │ ├── test.c
│ │ │ │ ├── tlist.c
│ │ │ │ ├── tlist.h
│ │ │ │ ├── tlist.o
│ │ │ │ ├── top_input.c
│ │ │ │ ├── top_input.h
│ │ │ │ ├── top_input.o
│ │ │ │ ├── topform.c
│ │ │ │ ├── topform.h
│ │ │ │ ├── topform.o
│ │ │ │ ├── tptp_trans.c
│ │ │ │ ├── tptp_trans.c.work
│ │ │ │ ├── tptp_trans.c~
│ │ │ │ ├── tptp_trans.h
│ │ │ │ ├── tptp_trans.o
│ │ │ │ ├── unify.c
│ │ │ │ ├── unify.h
│ │ │ │ ├── unify.o
│ │ │ │ ├── util/
│ │ │ │ │ ├── backup
│ │ │ │ │ ├── doc5
│ │ │ │ │ ├── init-package
│ │ │ │ │ ├── init-types
│ │ │ │ │ ├── make_dep
│ │ │ │ │ ├── make_htmls
│ │ │ │ │ ├── make_protos
│ │ │ │ │ ├── new-type
│ │ │ │ │ ├── options-for-gui.py
│ │ │ │ │ ├── options-for-gui.py~
│ │ │ │ │ ├── proto
│ │ │ │ │ ├── temp
│ │ │ │ │ └── to-html
│ │ │ │ ├── weight.c
│ │ │ │ ├── weight.h
│ │ │ │ ├── weight.o
│ │ │ │ ├── weight2.c
│ │ │ │ ├── weight2.h
│ │ │ │ ├── weight2.o
│ │ │ │ ├── weighttest
│ │ │ │ ├── work
│ │ │ │ ├── xproofs.c
│ │ │ │ ├── xproofs.h
│ │ │ │ └── xproofs.o
│ │ │ ├── libtoolize.patch
│ │ │ ├── mace4.examples/
│ │ │ │ ├── README
│ │ │ │ ├── group2.in
│ │ │ │ └── rw1.in
│ │ │ ├── mace4.src/
│ │ │ │ ├── Changelog.old
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.memory
│ │ │ │ ├── TAGS
│ │ │ │ ├── arithmetic.c
│ │ │ │ ├── arithmetic.h
│ │ │ │ ├── arithmetic.o
│ │ │ │ ├── commandline.c
│ │ │ │ ├── commandline.o
│ │ │ │ ├── estack.c
│ │ │ │ ├── estack.h
│ │ │ │ ├── estack.o
│ │ │ │ ├── ground.c
│ │ │ │ ├── ground.h
│ │ │ │ ├── ground.o
│ │ │ │ ├── h1.in
│ │ │ │ ├── h1.out
│ │ │ │ ├── help
│ │ │ │ ├── help2
│ │ │ │ ├── index.html
│ │ │ │ ├── libmace4.a
│ │ │ │ ├── mace4.c
│ │ │ │ ├── mace4.o
│ │ │ │ ├── msearch.c
│ │ │ │ ├── msearch.c~
│ │ │ │ ├── msearch.h
│ │ │ │ ├── msearch.o
│ │ │ │ ├── mstate.c
│ │ │ │ ├── mstate.h
│ │ │ │ ├── mstate.o
│ │ │ │ ├── negprop.c
│ │ │ │ ├── negprop.o
│ │ │ │ ├── negpropindex.c
│ │ │ │ ├── negpropindex.o
│ │ │ │ ├── ordercells.c
│ │ │ │ ├── ordercells.o
│ │ │ │ ├── print.c
│ │ │ │ ├── print.o
│ │ │ │ ├── propagate.c
│ │ │ │ ├── propagate.h
│ │ │ │ ├── propagate.o
│ │ │ │ ├── pub
│ │ │ │ ├── puzzles/
│ │ │ │ │ ├── f1.in
│ │ │ │ │ ├── f1.in~
│ │ │ │ │ ├── f1.out
│ │ │ │ │ ├── kenken6.in
│ │ │ │ │ ├── kenken6.out
│ │ │ │ │ ├── queens1.in
│ │ │ │ │ ├── queens1.out
│ │ │ │ │ ├── queens2.in
│ │ │ │ │ ├── queens2.out
│ │ │ │ │ ├── send-money.in
│ │ │ │ │ ├── send-money.out
│ │ │ │ │ ├── sudoku.in
│ │ │ │ │ ├── sudoku.out
│ │ │ │ │ ├── temp
│ │ │ │ │ ├── zebra1.in
│ │ │ │ │ ├── zebra1.out
│ │ │ │ │ ├── zebra2.in
│ │ │ │ │ └── zebra2.out
│ │ │ │ ├── r1.in
│ │ │ │ ├── save/
│ │ │ │ │ ├── raw-cooked
│ │ │ │ │ └── raw-cooked~
│ │ │ │ ├── select.c
│ │ │ │ ├── select.o
│ │ │ │ ├── syms.c
│ │ │ │ ├── syms.h
│ │ │ │ ├── syms.o
│ │ │ │ ├── t1.in
│ │ │ │ ├── temp
│ │ │ │ ├── util.c
│ │ │ │ └── util.o
│ │ │ ├── manpages/
│ │ │ │ ├── mace4.1
│ │ │ │ └── prover9.1
│ │ │ ├── prover9.examples/
│ │ │ │ ├── README
│ │ │ │ ├── x2.hints
│ │ │ │ ├── x2.in
│ │ │ │ └── x2.out
│ │ │ ├── provers.src/
│ │ │ │ ├── .gdb_history
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.actions
│ │ │ │ ├── README.doc
│ │ │ │ ├── README.new-sos-limit
│ │ │ │ ├── README.parts
│ │ │ │ ├── README.process
│ │ │ │ ├── README.sos
│ │ │ │ ├── README.symbol_order
│ │ │ │ ├── README.white-black
│ │ │ │ ├── README.wired-in
│ │ │ │ ├── TAGS
│ │ │ │ ├── actions.c
│ │ │ │ ├── actions.h
│ │ │ │ ├── autosketches.examples/
│ │ │ │ │ ├── BA.in
│ │ │ │ │ ├── BA.out
│ │ │ │ │ ├── README
│ │ │ │ │ ├── ec.in
│ │ │ │ │ ├── ec.out
│ │ │ │ │ ├── err
│ │ │ │ │ ├── go
│ │ │ │ │ ├── n3.in
│ │ │ │ │ ├── n3.out
│ │ │ │ │ ├── newauto.c.from_bob
│ │ │ │ │ ├── newsax.c.from_bob
│ │ │ │ │ ├── xhn.in
│ │ │ │ │ └── xhn.out
│ │ │ │ ├── autosketches4
│ │ │ │ ├── autosketches4.c
│ │ │ │ ├── demodulate.c
│ │ │ │ ├── demodulate.h
│ │ │ │ ├── fof-prover9
│ │ │ │ ├── fof-prover9.c
│ │ │ │ ├── foffer.c
│ │ │ │ ├── foffer.h
│ │ │ │ ├── forward_subsume.c
│ │ │ │ ├── forward_subsume.h
│ │ │ │ ├── giv_select.c
│ │ │ │ ├── giv_select.h
│ │ │ │ ├── index_lits.c
│ │ │ │ ├── index_lits.h
│ │ │ │ ├── iterate4.c
│ │ │ │ ├── ladr_to_tptp
│ │ │ │ ├── ladr_to_tptp.c
│ │ │ │ ├── mprover.c
│ │ │ │ ├── newauto
│ │ │ │ ├── newauto.c
│ │ │ │ ├── newsax
│ │ │ │ ├── newsax.c
│ │ │ │ ├── options
│ │ │ │ ├── pred_elim.c
│ │ │ │ ├── pred_elim.h
│ │ │ │ ├── prover9
│ │ │ │ ├── prover9.c
│ │ │ │ ├── provers.c
│ │ │ │ ├── provers.h
│ │ │ │ ├── pub
│ │ │ │ ├── save/
│ │ │ │ │ ├── attributes.c
│ │ │ │ │ ├── attributes.h
│ │ │ │ │ ├── auto.c
│ │ │ │ │ ├── auto.h
│ │ │ │ │ ├── cgrep.c
│ │ │ │ │ ├── control_sos.c
│ │ │ │ │ ├── control_sos.h
│ │ │ │ │ ├── definitions.c
│ │ │ │ │ ├── definitions.h
│ │ │ │ │ ├── fork_and_wait
│ │ │ │ │ ├── lits_index.c
│ │ │ │ │ ├── lits_index.h
│ │ │ │ │ ├── loop2.c
│ │ │ │ │ ├── picker.c
│ │ │ │ │ ├── picker.h
│ │ │ │ │ ├── ploop4.c
│ │ │ │ │ ├── poptions.c
│ │ │ │ │ ├── poptions.h
│ │ │ │ │ ├── prover9-simple.c
│ │ │ │ │ └── prover9.h
│ │ │ │ ├── search-structures.h
│ │ │ │ ├── search.c
│ │ │ │ ├── search.h
│ │ │ │ ├── semantics.c
│ │ │ │ ├── semantics.h
│ │ │ │ ├── test.p
│ │ │ │ ├── tptp_to_ladr
│ │ │ │ ├── tptp_to_ladr.c
│ │ │ │ ├── unfold.c
│ │ │ │ ├── unfold.h
│ │ │ │ ├── utilities.c
│ │ │ │ ├── utilities.h
│ │ │ │ ├── white_black.c
│ │ │ │ └── white_black.h
│ │ │ ├── rev.py
│ │ │ ├── sed.gnu-blurb
│ │ │ ├── test.src/
│ │ │ │ ├── Makefile
│ │ │ │ ├── TAGS
│ │ │ │ ├── avltest
│ │ │ │ ├── avltest.c
│ │ │ │ ├── t1
│ │ │ │ ├── t2
│ │ │ │ ├── t2.in
│ │ │ │ ├── tptp_test
│ │ │ │ └── tptp_test.c
│ │ │ ├── utilities/
│ │ │ │ ├── attack
│ │ │ │ ├── get_givens
│ │ │ │ ├── get_interps
│ │ │ │ ├── get_kept
│ │ │ │ ├── gvizify
│ │ │ │ ├── looper
│ │ │ │ ├── proof3fo.xsl
│ │ │ │ └── prover9-mace4
│ │ │ └── utilities-old/
│ │ │ ├── attack2
│ │ │ ├── iterate
│ │ │ ├── looper.pl
│ │ │ ├── oproofs_to_goals
│ │ │ ├── oproofs_to_hints
│ │ │ ├── proofs_to_goals
│ │ │ └── proofs_to_hints
│ │ ├── csp_solver/
│ │ │ ├── __init__.py
│ │ │ └── csp_solver.py
│ │ ├── fol_solver/
│ │ │ ├── Formula.py
│ │ │ ├── __init__.py
│ │ │ ├── fol_parser.py
│ │ │ ├── fol_prover9_parser.py
│ │ │ └── prover9_solver.py
│ │ ├── pyke_solver/
│ │ │ ├── __init__.py
│ │ │ └── pyke_solver.py
│ │ └── z3_solver/
│ │ ├── __init__.py
│ │ ├── code_translator.py
│ │ ├── sat_problem_solver.py
│ │ └── z3_solver_test.py
│ └── utils.py
├── outputs/
│ └── logic_programs/
│ ├── AR-LSAT_dev_gpt-3.5-turbo.json
│ ├── AR-LSAT_dev_gpt-4.json
│ ├── AR-LSAT_dev_text-davinci-003.json
│ ├── FOLIO_dev_gpt-3.5-turbo.json
│ ├── FOLIO_dev_gpt-4.json
│ ├── FOLIO_dev_text-davinci-003.json
│ ├── LogicalDeduction_dev_gpt-3.5-turbo.json
│ ├── LogicalDeduction_dev_gpt-4.json
│ ├── LogicalDeduction_dev_text-davinci-003.json
│ ├── ProntoQA_dev_gpt-3.5-turbo.json
│ ├── ProntoQA_dev_gpt-4.json
│ ├── ProntoQA_dev_text-davinci-003.json
│ ├── ProofWriter_dev_gpt-3.5-turbo.json
│ ├── ProofWriter_dev_gpt-4.json
│ └── ProofWriter_dev_text-davinci-003.json
├── requirements.txt
└── solver_examples/
├── folio_prover9.py
└── prover9_example.py
Showing preview only (231K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3397 symbols across 252 files)
FILE: baselines/evaluation.py
function extract_number (line 8) | def extract_number(string):
function argmax (line 23) | def argmax(iterable):
function normalize_text (line 27) | def normalize_text(s):
function compute_exact_match (line 47) | def compute_exact_match(prediction, truth):
function compute_f1 (line 51) | def compute_f1(prediction, truth):
function evaluate_sample (line 70) | def evaluate_sample(prediction, gold_answers):
function get_choice (line 75) | def get_choice(answer_str):
function evaluate_QA (line 83) | def evaluate_QA(result_file):
function parse_args (line 117) | def parse_args():
FILE: baselines/gpt3_baseline.py
class GPT3_Reasoning_Graph_Baseline (line 9) | class GPT3_Reasoning_Graph_Baseline:
method __init__ (line 10) | def __init__(self, args):
method prompt_LSAT (line 24) | def prompt_LSAT(self, in_context_example, test_example):
method load_in_context_examples (line 34) | def load_in_context_examples(self):
method load_raw_dataset (line 39) | def load_raw_dataset(self, split):
method reasoning_graph_generation (line 44) | def reasoning_graph_generation(self):
method batch_reasoning_graph_generation (line 77) | def batch_reasoning_graph_generation(self, batch_size=10):
method update_answer (line 113) | def update_answer(self, sample, output):
function parse_args (line 124) | def parse_args():
FILE: baselines/utils.py
function completions_with_backoff (line 8) | def completions_with_backoff(**kwargs):
function chat_completions_with_backoff (line 12) | def chat_completions_with_backoff(**kwargs):
function dispatch_openai_chat_requests (line 15) | async def dispatch_openai_chat_requests(
function dispatch_openai_prompt_requests (line 48) | async def dispatch_openai_prompt_requests(
class OpenAIModel (line 71) | class OpenAIModel:
method __init__ (line 72) | def __init__(self, API_KEY, model_name, stop_words, max_new_tokens) ->...
method chat_generate (line 79) | def chat_generate(self, input_string, temperature = 0.0):
method prompt_generate (line 94) | def prompt_generate(self, input_string, temperature = 0.0):
method generate (line 108) | def generate(self, input_string, temperature = 0.0):
method batch_chat_generate (line 116) | def batch_chat_generate(self, messages_list, temperature = 0.0):
method batch_prompt_generate (line 129) | def batch_prompt_generate(self, prompt_list, temperature = 0.0):
method batch_generate (line 137) | def batch_generate(self, messages_list, temperature = 0.0):
method generate_insertion (line 145) | def generate_insertion(self, input_string, suffix, temperature = 0.0):
FILE: models/backup_answer_generation.py
class Backup_Answer_Generator (line 5) | class Backup_Answer_Generator:
method __init__ (line 6) | def __init__(self, dataset_name, backup_strategy, backup_LLM_result_pa...
method get_backup_answer (line 15) | def get_backup_answer(self, id):
method random_backup (line 21) | def random_backup(self):
method LLM_backup (line 31) | def LLM_backup(self, id):
FILE: models/evaluation.py
function normalize_text (line 7) | def normalize_text(s):
function compute_exact_match (line 27) | def compute_exact_match(prediction, truth):
function compute_f1 (line 31) | def compute_f1(prediction, truth):
function evaluate_sample (line 50) | def evaluate_sample(prediction, gold_answers):
function get_choice (line 55) | def get_choice(answer_str):
function evaluate_QA (line 66) | def evaluate_QA(QA_results):
function full_evaluation (line 96) | def full_evaluation(result_file):
function parse_args (line 106) | def parse_args():
FILE: models/logic_inference.py
class LogicInferenceEngine (line 12) | class LogicInferenceEngine:
method __init__ (line 13) | def __init__(self, args):
method load_logic_programs (line 30) | def load_logic_programs(self):
method save_results (line 36) | def save_results(self, outputs):
method safe_execute_program (line 43) | def safe_execute_program(self, id, logic_program):
method inference_on_dataset (line 59) | def inference_on_dataset(self):
method cleanup (line 82) | def cleanup(self):
function parse_args (line 88) | def parse_args():
FILE: models/logic_program.py
class LogicProgramGenerator (line 11) | class LogicProgramGenerator:
method __init__ (line 12) | def __init__(self, args):
method load_prompt_templates (line 28) | def load_prompt_templates(self):
method prompt_folio (line 35) | def prompt_folio(self, test_data):
method prompt_arlsat (line 41) | def prompt_arlsat(self, test_data):
method prompt_prontoqa (line 49) | def prompt_prontoqa(self, test_data):
method prompt_proofwriter (line 55) | def prompt_proofwriter(self, test_data):
method prompt_logicaldeduction (line 61) | def prompt_logicaldeduction(self, test_data):
method load_raw_dataset (line 69) | def load_raw_dataset(self, split):
method logic_program_generation (line 74) | def logic_program_generation(self):
method batch_logic_program_generation (line 106) | def batch_logic_program_generation(self, batch_size = 10):
function parse_args (line 156) | def parse_args():
FILE: models/self_refinement.py
class SelfRefinementEngine (line 14) | class SelfRefinementEngine:
method __init__ (line 15) | def __init__(self, args, current_round):
method load_logic_programs (line 32) | def load_logic_programs(self):
method load_prompt (line 41) | def load_prompt(self, program, error_message):
method safe_execute_program (line 49) | def safe_execute_program(self, id, logic_program, debug = False):
method single_round_self_refinement (line 77) | def single_round_self_refinement(self):
function parse_args (line 122) | def parse_args():
FILE: models/symbolic_solvers/Prover9/apps.src/clausefilter.c
function Ordertype (line 33) | static Ordertype interp_compare(Interp a, Interp b)
function sort_interps (line 49) | static
function Interp (line 76) | Interp find_interp(Topform c, Plist interps,
function main (line 97) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/clausetester.c
function main (line 32) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/complex.c
function complex4_compare (line 30) | static
function BOOL (line 55) | static
function complex4_p1 (line 76) | static
function complex4 (line 96) | double complex4(Term t)
function main (line 115) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/directproof.c
function String_buf (line 41) | static
function read_program_input (line 69) | static
function BOOL (line 116) | static
function print_proof (line 134) | static
function BOOL (line 188) | BOOL horn_eq_clauses(Plist l)
function BOOL (line 214) | BOOL pos_bin_res(Topform c, Plist proof)
function BOOL (line 244) | BOOL all_resolutions_pos_binary(Plist proof)
function BOOL (line 264) | BOOL all_paramodulations_unit(Plist proof)
function Topform (line 282) | static
function Topform (line 301) | static
function BOOL (line 320) | static
function last_two_steps (line 339) | static
function Term (line 357) | static
function Topform (line 388) | static
function Term (line 409) | static
function Term (line 429) | static
function Plist (line 444) | static
function main (line 640) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/dprofiles.c
function main (line 33) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/gen_trc_defs.c
type syms (line 37) | struct syms {
function Plist (line 49) | static
function BOOL (line 83) | static
function BOOL (line 105) | static
function candidate (line 122) | static
function genterms (line 140) | static
function num_constants (line 189) | static
function num_binaries (line 205) | static
function check_counts (line 221) | static
function unary_occurrences (line 234) | static
function insert_unaries (line 250) | static
function unary_gen (line 284) | static
function lookfor (line 298) | static
function main (line 313) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/idfilter.c
function main (line 47) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/interpfilter.c
function Topform (line 46) | static
function main (line 62) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/interpformat.c
function String_buf (line 52) | static
function String_buf (line 80) | static
function BOOL (line 117) | static
function Term (line 135) | static
function main (line 159) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/isofilter.c
function BOOL (line 42) | static BOOL iso_member(Interp a, Plist interps)
function main (line 52) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/isofilter0.c
function BOOL (line 41) | static BOOL iso_member(Interp a, Plist interps)
function main (line 51) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/isofilter2.c
function BOOL (line 42) | static BOOL interp_member(Interp a, Plist interps)
function main (line 52) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/latfilter.c
function BOOL (line 49) | BOOL meet_term(Term t)
function BOOL (line 60) | BOOL join_term(Term t)
function BOOL (line 84) | BOOL lattice_leq(Term s, Term t)
function lattice_identity (line 125) | int lattice_identity(Term atom)
function main (line 139) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/miniscope.c
function main (line 31) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/mirror-flip.c
function Term (line 35) | static
function Topform (line 61) | static
function Topform (line 78) | static
function BOOL (line 96) | static
function main (line 126) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/old/cdprover.c
function Clause (line 15) | static
function Clause (line 36) | static
function BOOL (line 50) | static
function Clause (line 67) | static
function Clause (line 106) | static
function Clause (line 126) | static
function Plist (line 179) | static
function main (line 205) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/old/deny.c
function main (line 18) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/old/latgen.c
function Term (line 21) | static Term procterm(Term t, Mindex idx)
function Plist (line 35) | static Plist gen_terms(Mindex idx, int max)
function Term (line 73) | static Term variablize(Term t)
function main (line 108) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/old/modelformat.c
function BOOL (line 29) | static
function read_to_string (line 50) | int read_to_string(FILE *fp, char *str)
function main (line 70) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/old/undeny.c
function Term (line 23) | static
function undeny_clause (line 51) | static
function main (line 63) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/olfilter.c
function Term (line 74) | static Term complement(Term t)
function Term (line 98) | static Term neg_norm_form(Term t)
function Term (line 154) | static Term simplify_01(Term t)
function BOOL (line 229) | BOOL ol_leq(Term s, Term t)
function BOOL (line 292) | static BOOL reduced_join(Term a, Term t)
function BOOL (line 306) | static BOOL reduced_meet(Term a, Term t)
function BOOL (line 322) | static BOOL reduced(Term t)
function Term (line 361) | static Term beta(Term t)
function BOOL (line 405) | BOOL ol_identity(Term equality)
function Term (line 436) | static
function main (line 463) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/perm3.c
function Term (line 35) | static
function Topform (line 56) | static
function BOOL (line 73) | static
function main (line 117) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/prooftrans.c
function String_buf (line 51) | static
function read_program_input (line 81) | static
function BOOL (line 132) | static
function print_proof (line 150) | static
function Plist (line 196) | static
function main (line 213) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/renamer.c
function main (line 32) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/rewriter.c
function main (line 46) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/rewriter2.c
function main (line 40) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/sigtest.c
function main (line 29) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/test_clause_eval.c
function main (line 26) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/test_complex.c
function main (line 25) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/unfast.c
function main (line 37) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/apps.src/upper-covers.c
function BOOL (line 43) | static BOOL adjacent(int n, int i, int j, BOOL *lt)
function upper_covers (line 52) | static void upper_covers(Interp p, int lattice_number)
function main (line 106) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/bob/ioutil.c
function fwrite_formula (line 39) | void fwrite_formula(FILE *fp, Formula f)
function Topform (line 66) | Topform read_clause(FILE *fin, FILE *fout)
function Topform (line 89) | Topform parse_clause_from_string(char *s)
function BOOL (line 108) | BOOL end_of_list_clause(Topform c)
function Clist (line 139) | Clist read_clause_clist(FILE *fin, FILE *fout, char *name, BOOL assign_id)
function Plist (line 168) | Plist read_clause_list(FILE *fin, FILE *fout, BOOL assign_id)
function sb_write_clause_jmap (line 185) | void sb_write_clause_jmap(String_buf sb, Topform c,
function sb_write_clause (line 245) | void sb_write_clause(String_buf sb, Topform c, int format)
function sb_xml_write_clause_jmap (line 262) | void sb_xml_write_clause_jmap(String_buf sb, Topform c, I3list map)
function fwrite_clause_jmap (line 329) | void fwrite_clause_jmap(FILE *fp, Topform c, int format, I3list map)
function fwrite_clause (line 365) | void fwrite_clause(FILE *fp, Topform c, int format)
function f_clause (line 381) | void f_clause(Topform c)
function fwrite_clause_clist (line 404) | void fwrite_clause_clist(FILE *fp, Clist lst, int format)
function fwrite_demod_clist (line 430) | void fwrite_demod_clist(FILE *fp, Clist lst, int format)
function fwrite_clause_list (line 470) | void fwrite_clause_list(FILE *fp, Plist lst, char *name, int format)
function f_clauses (line 495) | void f_clauses(Plist p)
function Formula (line 514) | Formula read_formula(FILE *fin, FILE *fout)
function BOOL (line 536) | BOOL end_of_list_formula(Formula f)
function Plist (line 565) | Plist read_formula_list(FILE *fin, FILE *fout)
function fwrite_formula_list (line 599) | void fwrite_formula_list(FILE *fp, Plist lst, char *name)
function zap_formula_list (line 625) | void zap_formula_list(Plist lst)
function BOOL (line 647) | BOOL end_of_list_term(Term t)
function BOOL (line 668) | BOOL end_of_commands_term(Term t)
function Plist (line 695) | Plist read_term_list(FILE *fin, FILE *fout)
function fwrite_term_list (line 729) | void fwrite_term_list(FILE *fp, Plist lst, char *name)
function Term (line 761) | Term term_reader(BOOL fast)
function term_writer (line 783) | void term_writer(Term t, BOOL fast)
function Topform (line 807) | Topform clause_reader(BOOL fast)
function clause_writer (line 823) | void clause_writer(Topform c, BOOL fast)
function Topform (line 842) | Topform term_to_topform2(Term t)
function Topform (line 872) | Topform read_clause_or_formula(FILE *fin, FILE *fout)
function Plist (line 894) | Plist read_clause_or_formula_list(FILE *fin, FILE *fout)
function sb_tagged_write_clause_jmap (line 923) | void sb_tagged_write_clause_jmap(String_buf sb, Topform c,
FILE: models/symbolic_solvers/Prover9/bob/just.c
function Just (line 49) | Just get_just(void)
function free_just (line 62) | static
function Parajust (line 79) | Parajust get_parajust(void)
function free_parajust (line 92) | static
function Instancejust (line 109) | Instancejust get_instancejust(void)
function free_instancejust (line 122) | static
function Ivyjust (line 135) | static
function free_ivyjust (line 149) | static
function fprint_just_mem (line 169) | void fprint_just_mem(FILE *fp, BOOL heading)
function p_just_mem (line 213) | void p_just_mem()
function Just (line 232) | Just ivy_just(Just_type type,
function Just (line 260) | Just input_just(void)
function Just (line 279) | Just goal_just(void)
function Just (line 298) | Just deny_just(Topform tf)
function Just (line 318) | Just clausify_just(Topform tf)
function Just (line 338) | Just expand_def_just(Topform tf, Topform def)
function Just (line 358) | Just copy_just(Topform c)
function Just (line 378) | Just propositional_just(Topform c)
function Just (line 398) | Just new_symbol_just(Topform c)
function Just (line 418) | Just back_demod_just(Topform c)
function Just (line 438) | Just back_unit_deletion_just(Topform c)
function Just (line 460) | Just binary_res_just(Topform c1, int n1, Topform c2, int n2)
function Just (line 484) | Just binary_res_just_by_id(int c1, int n1, int c2, int n2)
function Just (line 508) | Just factor_just(Topform c, int lit1, int lit2)
function Just (line 528) | Just xxres_just(Topform c, int lit)
function Just (line 549) | Just resolve_just(Ilist g, Just_type type)
function Just (line 568) | Just demod_just(I3list steps)
function Just (line 588) | Just para_just(Just_type rule,
function Just (line 616) | Just instance_just(Topform parent, Plist pairs)
function Just (line 640) | Just para_just_rev_copy(Just_type rule,
function Just (line 660) | Just unit_del_just(Topform deleter, int literal_num)
function Just (line 680) | Just flip_just(int n)
function Just (line 700) | Just xx_just(int n)
function Just (line 721) | Just merge_just(int n)
function Just (line 740) | Just append_just(Just j1, Just j2)
function Just (line 761) | Just copy_justification(Just j)
function jstring_to_jtype (line 884) | static
function itoc (line 949) | static
function ctoi (line 968) | static
function jmap1 (line 991) | int jmap1(I3list map, int i)
function sb_append_id (line 1041) | void sb_append_id(String_buf sb, int id, I3list map)
function sb_write_res_just (line 1056) | static
function sb_write_position (line 1095) | static
function sb_write_ids (line 1118) | void sb_write_ids(String_buf sb, Ilist p, I3list map)
function sb_write_just (line 1140) | void sb_write_just(String_buf sb, Just just, I3list map)
function sb_xml_write_just (line 1291) | void sb_xml_write_just(String_buf sb, Just just, I3list map)
function p_just (line 1338) | void p_just(Just j)
function zap_parajust (line 1353) | static
function zap_instancejust (line 1367) | static
function zap_ivyjust (line 1380) | static
function zap_just (line 1400) | void zap_just(Just just)
function Ilist (line 1457) | Ilist get_parents(Just just, BOOL all)
function Topform (line 1551) | Topform first_negative_parent(Topform c)
function Plist (line 1571) | static
function Plist (line 1608) | Plist get_clause_ancestors(Topform c)
function proof_length (line 1624) | int proof_length(Plist proof)
function map_id (line 1635) | static
function map_just (line 1653) | void map_just(Just just, I2list map)
function just_count (line 1744) | int just_count(Just j)
function mark_parents_as_used (line 1761) | void mark_parents_as_used(Topform c)
function I2list (line 1778) | static
function clause_level (line 1813) | int clause_level(Topform c)
function lit_string_to_int (line 1827) | static
function Ilist (line 1845) | static
function Just (line 1878) | Just term_to_just(Term lst)
function BOOL (line 2037) | BOOL has_input_just(Topform c)
function BOOL (line 2053) | BOOL has_copy_just(Topform c)
function BOOL (line 2069) | BOOL has_copy_flip_just(Topform c)
function sb_tagged_write_just (line 2098) | void sb_tagged_write_just(String_buf sb, Just just, I3list map)
function sb_tagged_write_res_just (line 2243) | static
FILE: models/symbolic_solvers/Prover9/bob/prooftrans.c
function String_buf (line 49) | static
function read_program_input (line 79) | static
function BOOL (line 130) | static
function print_proof (line 148) | static
function Plist (line 194) | static
function main (line 211) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/ladr/ac_redun.c
function BOOL (line 39) | BOOL same_top(Term t1, Term t2)
function commutativity (line 59) | int commutativity(Term atom)
function associativity (line 91) | int associativity(Term atom)
function c_associativity (line 132) | int c_associativity(Term atom)
function associativity3 (line 179) | int associativity3(Term atom)
function associativity4 (line 231) | int associativity4(Term atom)
function Ordertype (line 271) | static
function Term (line 292) | static
function BOOL (line 341) | static
function BOOL (line 387) | BOOL cac_tautology(Literals lits)
function BOOL (line 425) | BOOL cac_redundancy(Topform c, BOOL print)
FILE: models/symbolic_solvers/Prover9/ladr/accanon.c
function flatten (line 36) | void flatten(Term t, Term *a, int *ip)
function right_associate (line 68) | static
function ac_canonical2 (line 121) | void ac_canonical2(Term t, int bit,
function ac_canonical (line 180) | void ac_canonical(Term t, int bit)
function check_ac_canonical (line 234) | int check_ac_canonical(Term t)
FILE: models/symbolic_solvers/Prover9/ladr/attrib.c
type attribute (line 25) | struct attribute { /* to form lists of attributes */
function Attribute (line 60) | static
function free_attribute (line 74) | static
function fprint_attrib_mem (line 94) | void fprint_attrib_mem(FILE *fp, BOOL heading)
function p_attrib_mem (line 120) | void p_attrib_mem()
function Attribute_type (line 135) | static
function register_attribute (line 166) | int register_attribute(char *name, Attribute_type type)
function declare_term_attribute_inheritable (line 195) | void declare_term_attribute_inheritable(int id)
function BOOL (line 208) | static
function Attribute (line 228) | Attribute set_int_attribute(Attribute a, int id, int val)
function get_int_attribute (line 261) | int get_int_attribute(Attribute a, int id, int n)
function BOOL (line 287) | BOOL exists_attribute(Attribute a, int id)
function Attribute (line 312) | Attribute set_term_attribute(Attribute a, int id, Term val)
function replace_term_attribute (line 346) | void replace_term_attribute(Attribute a, int id, Term val, int n)
function replace_int_attribute (line 378) | void replace_int_attribute(Attribute a, int id, int val, int n)
function Term (line 410) | Term get_term_attribute(Attribute a, int id, int n)
function Term (line 441) | Term get_term_attributes(Attribute a, int id)
function Attribute (line 477) | Attribute set_string_attribute(Attribute a, int id, char *val)
function BOOL (line 542) | BOOL string_attribute_member(Attribute a, int id, char *s)
function zap_attributes (line 567) | void zap_attributes(Attribute a)
function Attribute (line 589) | Attribute delete_attributes(Attribute a, int id)
function Attribute (line 619) | Attribute cat_att(Attribute a, Attribute b)
function Term (line 644) | Term build_attr_term(Attribute a)
function Term (line 689) | Term attributes_to_term(Attribute a, char *operator)
function Attribute (line 708) | static
function attribute_name_to_id (line 732) | int attribute_name_to_id(char *name)
function Attribute (line 762) | Attribute term_to_attributes(Term t, char *operator)
function Attribute (line 814) | Attribute inheritable_att_instances(Attribute a, Context subst)
function Attribute (line 840) | Attribute copy_attributes(Attribute a)
function instantiate_inheritable_attributes (line 869) | void instantiate_inheritable_attributes(Attribute a, Context subst)
function renumber_vars_attributes (line 892) | void renumber_vars_attributes(Attribute attrs, int vmap[], int max_vars)
function set_vars_attributes (line 913) | void set_vars_attributes(Attribute attrs, char *vnames[], int max_vars)
function Plist (line 935) | Plist vars_in_attributes(Attribute attrs)
function label_att (line 959) | int label_att(void)
function BOOL (line 982) | BOOL attributes_contain_variables(Attribute a)
function Attribute (line 1009) | Attribute copy_int_attribute(Attribute source, Attribute dest, int attr_id)
function Attribute (line 1030) | Attribute copy_string_attribute(Attribute source, Attribute dest, int at...
function Attribute (line 1051) | Attribute copy_term_attribute(Attribute source, Attribute dest, int attr...
FILE: models/symbolic_solvers/Prover9/ladr/attrib.h
type Attribute_type (line 45) | typedef enum { INT_ATTRIBUTE,
type attribute (line 50) | struct attribute
FILE: models/symbolic_solvers/Prover9/ladr/avltree.c
type avl_node (line 24) | struct avl_node {
function Avl_node (line 46) | static
function free_avl_node (line 60) | static
function fprint_avltree_mem (line 80) | void fprint_avltree_mem(FILE *fp, BOOL heading)
function p_avltree_mem (line 106) | void p_avltree_mem()
function avl_height (line 126) | int avl_height(Avl_node p)
function avl_size (line 142) | int avl_size(Avl_node p)
function set_height_and_size (line 153) | static
function BOOL (line 166) | static
function Avl_node (line 178) | static
function Avl_node (line 197) | static
function Avl_node (line 216) | static
function Avl_node (line 262) | Avl_node avl_insert(Avl_node p, void *item,
function Avl_node (line 294) | static
function Avl_node (line 314) | static
function Avl_node (line 342) | Avl_node avl_delete(Avl_node p, void *item,
function Avl_node (line 382) | static
function avl_place (line 476) | int avl_place(Avl_node p, void *item,
function avl_position (line 510) | double avl_position(Avl_node p, void *item,
function avl_zap (line 580) | void avl_zap(Avl_node p)
function avl_check (line 604) | void avl_check(Avl_node p,
function p_avl (line 646) | void p_avl(Avl_node p, int level)
FILE: models/symbolic_solvers/Prover9/ladr/avltree.h
type avl_node (line 49) | struct avl_node
FILE: models/symbolic_solvers/Prover9/ladr/backdemod.c
function index_term_back_demod (line 29) | static
function index_clause_back_demod (line 51) | void index_clause_back_demod(Topform c, Mindex idx, Indexop op)
function BOOL (line 69) | static
function BOOL (line 99) | BOOL rewritable_clause(Topform demod, Topform c)
function Plist (line 129) | Plist back_demod_linear(Topform demod, Clist lst, Plist rewritables)
function BOOL (line 148) | static
function Plist (line 177) | Plist back_demod_indexed(Topform demod, int type, Mindex idx,
FILE: models/symbolic_solvers/Prover9/ladr/banner.c
function print_separator (line 40) | void print_separator(FILE *fp, char *str, BOOL initial_newline)
function print_banner (line 66) | void print_banner(int argc, char **argv,
FILE: models/symbolic_solvers/Prover9/ladr/basic.c
function init_basic_paramod (line 77) | void init_basic_paramod(void)
function set_basic_paramod (line 95) | void set_basic_paramod(BOOL flag)
function BOOL (line 111) | BOOL basic_paramod(void)
function mark_term_nonbasic (line 126) | void mark_term_nonbasic(Term t)
function mark_all_nonbasic (line 143) | void mark_all_nonbasic(Term t)
function BOOL (line 165) | BOOL nonbasic_term(Term t)
function BOOL (line 181) | BOOL basic_term(Term t)
function nonbasic_flag (line 196) | int nonbasic_flag(void)
function Term (line 213) | Term apply_basic(Term t, Context c)
function Term (line 258) | Term apply_basic_substitute(Term t, Term beta, Context c_from,
function clear_all_nonbasic_marks (line 287) | void clear_all_nonbasic_marks(Term t)
function p_term_basic (line 308) | void p_term_basic(Term t)
FILE: models/symbolic_solvers/Prover9/ladr/btm.c
type ac_match_pos (line 23) | struct ac_match_pos
type ac_match_free_vars_pos (line 24) | struct ac_match_free_vars_pos
type btm_state (line 26) | struct btm_state {
type ac_match_pos (line 47) | struct ac_match_pos {
type ac_match_free_vars_pos (line 70) | struct ac_match_free_vars_pos {
function Ac_match_pos (line 116) | static
function free_ac_match_pos (line 130) | static
function Ac_match_free_vars_pos (line 143) | static
function free_ac_match_free_vars_pos (line 157) | static
function Btm_state (line 170) | static
function free_btm_state (line 186) | static
function fprint_btm_mem (line 206) | void fprint_btm_mem(FILE *fp, BOOL heading)
function p_btm_mem (line 244) | void p_btm_mem()
function flatten_mult (line 264) | static
function macbv_rec (line 301) | static
function match_ac_bound_vars (line 339) | static
function set_up_free_vars (line 381) | static
function unbind_free_var (line 441) | static
function free_var_match (line 476) | static
function Term (line 590) | static
function clear_partial_term (line 620) | static
function match_ac (line 660) | static
function match_ac_cancel (line 859) | static
function Btm_state (line 887) | static
function Btm_state (line 931) | static
function match_commute (line 1080) | static
function p_acm (line 1133) | static
function p_btm_state (line 1177) | void p_btm_state(Btm_state bt)
function Btm_state (line 1234) | Btm_state match_bt_first(Term t1, Context c1, Term t2, int partial)
function Btm_state (line 1259) | Btm_state match_bt_next(Btm_state bt1)
function match_bt_cancel (line 1294) | void match_bt_cancel(Btm_state bt)
FILE: models/symbolic_solvers/Prover9/ladr/btm.h
type btm_state (line 38) | struct btm_state
FILE: models/symbolic_solvers/Prover9/ladr/btu.c
type ac_position (line 25) | struct ac_position
type ac_position (line 27) | struct ac_position {
type btu_state (line 45) | struct btu_state {
function Btu_state (line 100) | static
function free_btu_state (line 115) | static
function Ac_position (line 128) | static
function free_ac_position (line 142) | static
function fprint_btu_mem (line 162) | void fprint_btu_mem(FILE *fp, BOOL heading)
function p_btu_mem (line 194) | void p_btu_mem()
function p_binding (line 209) | static
function flatten_deref (line 243) | static
function compare_ncv_context (line 286) | static
function sort_ac (line 344) | static
function elim_con_context (line 381) | static
function ac_mult_context (line 410) | static
function ac_prepare (line 465) | static
function set_up_basis_terms (line 513) | static
function unify_ac (line 559) | static
function unify_ac_cancel (line 896) | static
function p_ac_position (line 955) | static
function Btu_state (line 985) | static
function unify_commute (line 1039) | static
function Btu_state (line 1152) | Btu_state unify_bt_first(Term t1, Context c1,
function Btu_state (line 1175) | Btu_state unify_bt_next(Btu_state bt1)
function unify_bt_cancel (line 1208) | void unify_bt_cancel(Btu_state bt)
function Btu_state (line 1245) | static
function p_bt_tree (line 1434) | void p_bt_tree(Btu_state bt, int n)
FILE: models/symbolic_solvers/Prover9/ladr/btu.h
type btu_state (line 38) | struct btu_state
FILE: models/symbolic_solvers/Prover9/ladr/clash.c
function Clash (line 36) | static
function free_clash (line 50) | static
function fprint_clash_mem (line 70) | void fprint_clash_mem(FILE *fp, BOOL heading)
function p_clash_mem (line 96) | void p_clash_mem()
function Clash (line 116) | Clash append_clash(Clash p)
function zap_clash (line 136) | void zap_clash(Clash p)
function Literals (line 158) | Literals atom_to_literal(Term atom)
function Literals (line 179) | Literals apply_lit(Literals lit, Context c)
function lit_position (line 190) | static
function Topform (line 211) | static
function clash_recurse (line 271) | static
function clash (line 356) | void clash(Clash c,
FILE: models/symbolic_solvers/Prover9/ladr/clash.h
type clash (line 35) | struct clash
type clash (line 37) | struct clash {
FILE: models/symbolic_solvers/Prover9/ladr/clause_eval.c
type clause_eval (line 82) | struct clause_eval {
function Clause_eval (line 103) | static
function free_clause_eval (line 117) | static
function zap_clause_eval_rule (line 138) | void zap_clause_eval_rule(Clause_eval p)
function Clause_eval (line 160) | Clause_eval compile_clause_eval_rule(Term t)
function BOOL (line 284) | BOOL eval_clause_in_rule(Topform c, Clause_eval p)
function BOOL (line 384) | BOOL rule_contains_semantics(Clause_eval p)
FILE: models/symbolic_solvers/Prover9/ladr/clause_eval.h
type clause_eval (line 29) | struct clause_eval
FILE: models/symbolic_solvers/Prover9/ladr/clause_misc.c
function Clist (line 39) | Clist clist_copy(Clist a, BOOL assign_ids)
function Clist (line 64) | Clist copy_clauses_to_clist(Plist clauses, char *name, BOOL assign_ids)
function Clist (line 90) | Clist move_clauses_to_clist(Plist clauses, char *name, BOOL assign_ids)
function Plist (line 115) | Plist input_clauses(Plist a)
function delete_clause (line 145) | void delete_clause(Topform c)
function delete_clist (line 169) | void delete_clist(Clist l)
function Topform (line 199) | Topform copy_clause_ija(Topform c)
function Plist (line 220) | Plist copy_clauses_ija(Plist p)
function delete_clauses (line 244) | void delete_clauses(Plist p)
function make_clause_basic (line 264) | void make_clause_basic(Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/clauseid.c
function next_clause_id (line 34) | static
function clause_ids_assigned (line 51) | int clause_ids_assigned(void)
function assign_clause_id (line 70) | void assign_clause_id(Topform c)
function unassign_clause_id (line 97) | void unassign_clause_id(Topform c)
function Topform (line 135) | Topform find_clause_by_id(int id)
function fprint_clause_id_tab (line 161) | void fprint_clause_id_tab(FILE *fp)
function p_clause_id_tab (line 184) | void p_clause_id_tab()
function Plist (line 204) | Plist insert_clause_into_plist(Plist p, Topform c, BOOL increasing)
function BOOL (line 239) | BOOL clause_plist_member(Plist p, Topform c, BOOL increasing)
FILE: models/symbolic_solvers/Prover9/ladr/clauses.c
function Topform (line 39) | Topform clause_member_plist(Plist p, Topform c)
function Plist (line 63) | Plist intersect_clauses(Plist a, Plist b)
function max_clause_weight (line 88) | double max_clause_weight(Plist p)
function max_clause_symbol_count (line 111) | int max_clause_symbol_count(Plist p)
function Plist (line 133) | Plist nonneg_clauses(Plist clauses)
function BOOL (line 156) | BOOL all_clauses_horn(Plist l)
function BOOL (line 178) | BOOL all_clauses_unit(Plist l)
function BOOL (line 200) | BOOL all_clauses_positive(Plist l)
function neg_nonunit_clauses (line 222) | int neg_nonunit_clauses(Plist l)
function negative_clauses (line 245) | int negative_clauses(Plist l)
function most_literals (line 269) | int most_literals(Plist clauses)
function BOOL (line 292) | BOOL pos_equality_in_clauses(Plist clauses)
function BOOL (line 316) | BOOL equality_in_clauses(Plist clauses)
FILE: models/symbolic_solvers/Prover9/ladr/clausify.c
function Literals (line 39) | Literals formula_to_literal(Formula f)
function Literals (line 59) | Literals formula_to_literals(Formula f)
function Topform (line 91) | Topform formula_to_clause(Formula f)
function Plist (line 117) | Plist formula_to_clauses(Formula f)
function Plist (line 147) | Plist clausify_formula(Formula f)
function Term (line 169) | static
function Formula (line 206) | static
function Formula (line 231) | Formula clause_to_formula(Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/clist.c
function Clist_pos (line 39) | static
function free_clist_pos (line 53) | static
function Clist (line 66) | static
function free_clist (line 80) | static
function fprint_clist_mem (line 100) | void fprint_clist_mem(FILE *fp, BOOL heading)
function p_clist_mem (line 132) | void p_clist_mem()
function Clist (line 155) | Clist clist_init(char *name)
function name_clist (line 178) | void name_clist(Clist p, char *name)
function clist_free (line 201) | void clist_free(Clist p)
function clist_append (line 223) | void clist_append(Topform c, Clist l)
function clist_prepend (line 255) | void clist_prepend(Topform c, Clist l)
function clist_insert_before (line 287) | void clist_insert_before(Topform c, Clist_pos pos)
function clist_insert_after (line 319) | void clist_insert_after(Topform c, Clist_pos pos)
function clist_remove (line 353) | void clist_remove(Topform c, Clist l)
function clist_remove_all_clauses (line 397) | void clist_remove_all_clauses(Clist l)
function clist_remove_all (line 415) | int clist_remove_all(Topform c)
function clist_member (line 436) | int clist_member(Topform c, Clist l)
function fprint_clist (line 461) | void fprint_clist(FILE *fp, Clist l)
function p_clist (line 486) | void p_clist(Clist l)
function clist_zap (line 504) | void clist_zap(Clist l)
function clist_check (line 532) | void clist_check(Clist l)
function clist_append_all (line 570) | void clist_append_all(Clist l1, Clist l2)
function BOOL (line 589) | BOOL clist_empty(Clist lst)
function clist_length (line 604) | int clist_length(Clist l)
function max_wt_in_clist (line 620) | int max_wt_in_clist(Clist l)
function BOOL (line 641) | BOOL horn_clist(Clist l)
function BOOL (line 661) | BOOL unit_clist(Clist l)
function BOOL (line 681) | BOOL equality_in_clist(Clist l)
function BOOL (line 701) | BOOL neg_nonunit_in_clist(Clist l)
function Plist (line 722) | Plist clauses_in_clist(Plist p, Clist l)
function clist_swap (line 746) | void clist_swap(Topform a, Topform b)
function clist_move_clauses (line 772) | void clist_move_clauses(Clist a, Clist b)
function Plist (line 791) | Plist move_clist_to_plist(Clist a)
function Plist (line 814) | Plist copy_clist_to_plist_shallow(Clist a)
function Clist (line 833) | Clist plist_to_clist(Plist p, char *name)
function clist_reverse (line 854) | void clist_reverse(Clist l)
function Clist_pos (line 879) | Clist_pos pos_in_clist(Clist lst, Topform c)
function clist_append_plist (line 896) | void clist_append_plist(Clist lst, Plist clauses)
function Plist (line 914) | Plist prepend_clist_to_plist(Plist p, Clist c)
function clist_number_of_weight (line 936) | int clist_number_of_weight(Clist lst, int weight)
function Ordertype (line 957) | static
function sort_clist_by_id (line 978) | void sort_clist_by_id(Clist lst)
function Plist (line 1008) | Plist neg_clauses_in_clist(Clist a)
function fprint_clause_clist (line 1031) | void fprint_clause_clist(FILE *fp, Clist lst)
FILE: models/symbolic_solvers/Prover9/ladr/clist.h
type clist_pos (line 37) | struct clist_pos
type clist (line 38) | struct clist
type clist (line 40) | struct clist {
type clist_pos (line 46) | struct clist_pos {
FILE: models/symbolic_solvers/Prover9/ladr/clock.c
type clock (line 23) | struct clock {
function Clock (line 61) | static
function free_clock (line 79) | void free_clock(Clock p)
function Clock (line 107) | Clock clock_init(char *str)
function clock_start (line 127) | void clock_start(Clock p)
function clock_stop (line 151) | void clock_stop(Clock p)
function clock_milliseconds (line 179) | unsigned clock_milliseconds(Clock p)
function clock_seconds (line 207) | double clock_seconds(Clock p)
function BOOL (line 234) | BOOL clock_running(Clock p)
function clock_reset (line 251) | void clock_reset(Clock p)
function fprint_clock (line 270) | void fprint_clock(FILE *fp, Clock p)
function user_time (line 305) | unsigned user_time()
function user_seconds (line 329) | double user_seconds()
function system_time (line 356) | unsigned system_time()
function system_seconds (line 383) | double system_seconds()
function absolute_wallclock (line 405) | unsigned absolute_wallclock(void)
function init_wallclock (line 422) | void init_wallclock()
function wallclock (line 439) | unsigned wallclock()
function disable_clocks (line 454) | void disable_clocks(void)
function enable_clocks (line 469) | void enable_clocks(void)
function BOOL (line 484) | BOOL clocks_enabled(void)
FILE: models/symbolic_solvers/Prover9/ladr/clock.h
type clock (line 51) | struct clock
FILE: models/symbolic_solvers/Prover9/ladr/cnf.c
function Formula (line 52) | static
function Formula (line 89) | static
function BOOL (line 115) | BOOL formula_ident_share(Formula f, Formula g)
function Formula (line 152) | Formula formula_copy_share(Formula f)
function BOOL (line 179) | static
function BOOL (line 196) | static
function BOOL (line 215) | static
function BOOL (line 231) | static
function BOOL (line 249) | static
function Formula (line 273) | static
function Formula (line 315) | static
function Formula (line 337) | static
function Formula (line 359) | static
function Formula (line 406) | static
function Formula (line 435) | static
function Formula (line 472) | static
function Formula (line 502) | Formula cnf(Formula f)
function Formula (line 535) | Formula dnf(Formula f)
function Formula (line 546) | static
function Formula (line 621) | Formula skolemize(Formula f)
function Ilist (line 633) | static
function Formula (line 679) | Formula unique_quantified_vars(Formula f)
function mark_free_vars_formula (line 696) | static
function Formula (line 716) | static
function Formula (line 751) | Formula remove_universal_quantifiers(Formula f)
function Formula (line 781) | Formula clausify_prepare(Formula f)
function Formula (line 810) | static
function Formula (line 871) | Formula miniscope(Formula f)
function Formula (line 938) | Formula miniscope_formula(Formula f, unsigned mega_fid_call_limit)
function cnf_max_clauses (line 990) | int cnf_max_clauses(Formula f)
FILE: models/symbolic_solvers/Prover9/ladr/complex.c
function complexity1 (line 50) | static
function complexity2 (line 110) | static
function complexity3 (line 151) | static
function Term (line 184) | static
function Term (line 206) | static
function complex4_compare (line 228) | static
function BOOL (line 248) | static
function complex4_p1 (line 270) | static
function complex4 (line 302) | double complex4(Term t)
function term_to_ints (line 334) | static
function term_complexity (line 358) | double term_complexity(Term t, int func, int adjustment)
function clause_complexity (line 390) | double clause_complexity(Literals lits, int func, int adjustment)
function main (line 401) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/ladr/compress.c
function Term (line 33) | Term uncompress_term(char *s, int *ip)
function compress_term_recurse (line 54) | static
function compress_clause (line 103) | void compress_clause(Topform c)
function uncompress_clause (line 132) | void uncompress_clause(Topform c)
function uncompress_clauses (line 162) | void uncompress_clauses(Plist p)
FILE: models/symbolic_solvers/Prover9/ladr/definitions.c
function BOOL (line 37) | BOOL is_definition(Formula f)
function Term (line 77) | static
function subst_free_vars (line 111) | static
function Formula (line 134) | static
function Formula (line 173) | static
function BOOL (line 187) | static
function Formula (line 210) | Formula expand_with_definition(Formula f, Formula def)
function Topform (line 235) | static
function process_definitions (line 260) | void process_definitions(Plist formulas,
function expand_with_definitions (line 303) | void expand_with_definitions(Plist formulas,
function separate_definitions (line 344) | void separate_definitions(Plist formulas,
FILE: models/symbolic_solvers/Prover9/ladr/demod.c
function demodulator_type (line 40) | int demodulator_type(Topform c, int lex_dep_demod_lim, BOOL sane)
function idx_demodulator (line 90) | void idx_demodulator(Topform c, int type, Indexop operation, Mindex idx)
function demod_attempts (line 117) | int demod_attempts()
function demod_rewrites (line 133) | int demod_rewrites()
function Term (line 146) | static
function Term (line 206) | static
function Term (line 241) | static
function Term (line 288) | Term demodulate(Term t, Mindex demods, Ilist *just_head, BOOL lex_order_...
function Term (line 311) | static
function demod1 (line 372) | void demod1(Topform c, Topform demodulator, int direction,
function Term (line 402) | static
function particular_demod (line 468) | void particular_demod(Topform c, Topform demodulator, int target, int di...
FILE: models/symbolic_solvers/Prover9/ladr/di_tree.c
function nonunit_fsub_tests (line 40) | int nonunit_fsub_tests(void)
function nonunit_bsub_tests (line 55) | int nonunit_bsub_tests(void)
function Di_tree (line 77) | Di_tree get_di_tree(void)
function free_di_tree (line 94) | void free_di_tree(Di_tree p)
function fprint_di_tree_mem (line 113) | void fprint_di_tree_mem(FILE *fp, BOOL heading)
function p_di_tree_mem (line 139) | void p_di_tree_mem(void)
function Di_tree (line 160) | Di_tree init_di_tree(void)
function di_tree_insert (line 175) | void di_tree_insert(Ilist vec, Di_tree node, void *datum)
function BOOL (line 215) | BOOL di_tree_delete(Ilist vec, Di_tree node, void *datum)
function zap_di_tree (line 256) | void zap_di_tree(Di_tree node, int depth)
function p_di_tree (line 281) | void p_di_tree(Ilist vec, Di_tree node, int depth)
function BOOL (line 310) | static
function BOOL (line 342) | static
function Topform (line 358) | static
function Topform (line 395) | Topform forward_feature_subsume(Topform d, Di_tree root)
function di_tree_back (line 411) | static
function Plist (line 448) | Plist back_feature_subsume(Topform c, Di_tree root)
function mega_sub_calls (line 469) | unsigned mega_sub_calls(void)
FILE: models/symbolic_solvers/Prover9/ladr/di_tree.h
type di_tree (line 30) | struct di_tree
type di_tree (line 32) | struct di_tree { /* node in an integer vector discrimination tree */
FILE: models/symbolic_solvers/Prover9/ladr/dioph.c
function gcd (line 27) | static
function lcm (line 43) | static
function less_vec (line 56) | static
function var_check_1 (line 78) | static
function var_check_2 (line 104) | static
function add_solution (line 130) | static
function a_in_bounds (line 157) | static
function b_in_bounds (line 198) | static
function dio (line 242) | int dio(int ab[MAX_COEF],
function next_combo_a (line 391) | int next_combo_a(int length, int basis[MAX_BASIS][MAX_COEF],
function next_combo_b (line 451) | int next_combo_b(int length, int basis[MAX_BASIS][MAX_COEF],
function next_combo_c (line 527) | int next_combo_c(int length, int basis[MAX_BASIS][MAX_COEF],
function superset_degree (line 614) | static
function next_combo_ss (line 661) | int next_combo_ss(int length, int basis[MAX_BASIS][MAX_COEF],
function p_ac_basis (line 722) | void p_ac_basis(int basis[MAX_BASIS][MAX_COEF],
function all_combos (line 744) | static
function main (line 790) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/ladr/discrim.c
function Discrim (line 43) | Discrim get_discrim(void)
function free_discrim (line 60) | void free_discrim(Discrim p)
function Discrim_pos (line 77) | Discrim_pos get_discrim_pos(void)
function free_discrim_pos (line 94) | void free_discrim_pos(Discrim_pos p)
function fprint_discrim_mem (line 113) | void fprint_discrim_mem(FILE *fp, BOOL heading)
function p_discrim_mem (line 145) | void p_discrim_mem(void)
function Discrim (line 166) | Discrim discrim_init(void)
function discrim_dealloc (line 182) | void discrim_dealloc(Discrim d)
function zap_discrim_tree (line 197) | static
function destroy_discrim_tree (line 235) | void destroy_discrim_tree(Discrim d)
function BOOL (line 252) | BOOL discrim_empty(Discrim d)
FILE: models/symbolic_solvers/Prover9/ladr/discrim.h
type discrim (line 53) | struct discrim
type discrim (line 55) | struct discrim { /* node in a discrimination tree */
type discrim_pos (line 65) | struct discrim_pos
type discrim_pos (line 67) | struct discrim_pos { /* to save position in set of answers */
FILE: models/symbolic_solvers/Prover9/ladr/discrimb.c
type flat2 (line 27) | struct flat2
type flat2 (line 29) | struct flat2 { /* for building a stack of states for backtracking */
function Flat2 (line 56) | static
function free_flat2 (line 70) | static
function fprint_discrimb_mem (line 90) | void fprint_discrimb_mem(FILE *fp, BOOL heading)
function p_discrimb_mem (line 116) | void p_discrimb_mem(void)
function check_discrim_bind_tree (line 135) | void check_discrim_bind_tree(Discrim d, int n)
function print_discrim_bind_tree (line 156) | static
function fprint_discrim_bind_index (line 201) | void fprint_discrim_bind_index(FILE *fp, Discrim d)
function p_discrim_bind_index (line 217) | void p_discrim_bind_index(Discrim d)
function Discrim (line 231) | static
function discrim_bind_insert (line 303) | static
function Discrim (line 337) | static
function discrim_bind_delete (line 388) | static
function discrim_bind_update (line 472) | void discrim_bind_update(Term t, Discrim root, void *object, Indexop op)
function Flat2 (line 486) | static
function p_flat2 (line 514) | void p_flat2(Flat2 f)
function Plist (line 536) | static
function discrim_bind_cancel (line 783) | void discrim_bind_cancel(Discrim_pos pos)
FILE: models/symbolic_solvers/Prover9/ladr/discrimw.c
type flat (line 23) | struct flat
type flat (line 25) | struct flat { /* for building a stack of states for backtracking */
function Flat (line 56) | static
function free_flat (line 84) | static
function fprint_discrimw_mem (line 104) | void fprint_discrimw_mem(FILE *fp, BOOL heading)
function p_discrimw_mem (line 130) | void p_discrimw_mem(void)
function Flat (line 145) | static
function p_flat (line 173) | void p_flat(Flat f)
function flip_flat (line 192) | static
function num_ac_args (line 229) | static
function num_ac_nv_args (line 245) | static
function print_discrim_wild_tree (line 261) | static
function fprint_discrim_wild_index (line 313) | void fprint_discrim_wild_index(FILE *fp, Discrim d)
function p_discrim_wild_index (line 329) | void p_discrim_wild_index(Discrim d)
function Discrim (line 340) | static
function Discrim (line 389) | static
function discrim_wild_insert (line 458) | static
function Discrim (line 492) | static
function discrim_wild_delete (line 567) | static
function discrim_wild_update (line 650) | void discrim_wild_update(Term t, Discrim root, void *object, Indexop op)
function Plist (line 664) | static
function discrim_wild_cancel (line 968) | void discrim_wild_cancel(Discrim_pos pos)
FILE: models/symbolic_solvers/Prover9/ladr/dollar.c
type rule (line 26) | struct rule {
type rule (line 47) | struct rule
function init_dollar_eval (line 64) | void init_dollar_eval(Clist rules)
function BOOL (line 167) | BOOL evaluable_predicate(int symnum)
function Term (line 189) | Term dollar_eval(Term t)
function Term (line 363) | static
function Term (line 418) | static
function rewrite_with_eval (line 510) | void rewrite_with_eval(Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/fastparse.c
function fast_set_symbol (line 48) | void fast_set_symbol(char c, int arity)
function fast_set_defaults (line 79) | void fast_set_defaults(void)
function Term (line 104) | static
function Term (line 169) | Term fast_read_term(FILE *fin, FILE *fout)
function fast_fwrite_term (line 200) | static
function fast_fwrite_term_nl (line 245) | void fast_fwrite_term_nl(FILE *fp, Term t)
function Topform (line 271) | Topform fast_read_clause(FILE *fin, FILE *fout)
function fast_fwrite_clause (line 305) | void fast_fwrite_clause(FILE *fp, Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/fatal.c
function bell (line 36) | void bell(FILE *fp)
function get_fatal_exit_code (line 53) | int get_fatal_exit_code()
function set_fatal_exit_code (line 70) | void set_fatal_exit_code(int exit_code)
function fatal_error (line 88) | void fatal_error(char *message)
FILE: models/symbolic_solvers/Prover9/ladr/features.c
function init_features (line 46) | void init_features(Ilist fsyms, Ilist rsyms)
function fill_in_arrays (line 65) | static
function Ilist (line 114) | Ilist features(Literals lits)
function feature_length (line 161) | int feature_length(void)
function BOOL (line 185) | BOOL features_less_or_equal(Ilist c, Ilist d)
function p_features (line 204) | void p_features(Ilist f)
FILE: models/symbolic_solvers/Prover9/ladr/flatdemod.c
function Flatterm (line 45) | Flatterm fapply_demod(Term t, Context c)
function maybe_unbind (line 84) | static
function Plist (line 100) | Plist discrim_flat_retrieve_leaf(Flatterm fin, Discrim root,
function discrim_flat_cancel (line 253) | void discrim_flat_cancel(Discrim_pos pos)
function Flatterm (line 275) | static
function Term (line 391) | Term fdemodulate(Term t, Discrim root,
function fdemod_attempts (line 430) | int fdemod_attempts()
function fdemod_rewrites (line 446) | int fdemod_rewrites()
function fdemod_clause (line 466) | void fdemod_clause(Topform c, Mindex idx,
FILE: models/symbolic_solvers/Prover9/ladr/flatterm.c
function Flatterm (line 40) | Flatterm get_flatterm(void)
function free_flatterm (line 66) | void free_flatterm(Flatterm p)
function fprint_flatterm_mem (line 85) | void fprint_flatterm_mem(FILE *fp, BOOL heading)
function p_flatterm_mem (line 111) | void p_flatterm_mem()
function BOOL (line 130) | BOOL flatterm_ident(Flatterm a, Flatterm b)
function zap_flatterm (line 149) | void zap_flatterm(Flatterm f)
function Flatterm (line 169) | Flatterm term_to_flatterm(Term t)
function Term (line 207) | Term flatterm_to_term(Flatterm f)
function Flatterm (line 233) | Flatterm copy_flatterm(Flatterm f)
function print_flatterm (line 267) | void print_flatterm(Flatterm f)
function flatterm_symbol_count (line 303) | int flatterm_symbol_count(Flatterm f)
function p_flatterm (line 329) | void p_flatterm(Flatterm f)
function BOOL (line 346) | BOOL flat_occurs_in(Flatterm t1, Flatterm t2)
function I2list (line 365) | I2list flat_multiset_vars(Flatterm f)
function BOOL (line 385) | BOOL flat_variables_multisubset(Flatterm a, Flatterm b)
function flatterm_count_without_vars (line 405) | int flatterm_count_without_vars(Flatterm f)
FILE: models/symbolic_solvers/Prover9/ladr/flatterm.h
type flatterm (line 53) | struct flatterm
type flatterm (line 55) | struct flatterm {
FILE: models/symbolic_solvers/Prover9/ladr/formula.c
function Formula (line 38) | static
function free_formula (line 59) | void free_formula(Formula p)
function fprint_formula_mem (line 82) | void fprint_formula_mem(FILE *fp, BOOL heading)
function p_formula_mem (line 111) | void p_formula_mem()
function formula_megs (line 131) | unsigned formula_megs(void)
function Formula (line 151) | Formula formula_get(int arity, Ftype type)
function zap_formula (line 170) | void zap_formula(Formula f)
function BOOL (line 200) | BOOL logic_term(Term t)
function gather_symbols_in_term (line 219) | static
function gather_symbols_in_formula_term (line 248) | void gather_symbols_in_formula_term(Term t, I2list *rsyms, I2list *fsyms)
function gather_symbols_in_formula (line 277) | void gather_symbols_in_formula(Formula f, I2list *rsyms, I2list *fsyms)
function gather_symbols_in_formulas (line 305) | void gather_symbols_in_formulas(Plist lst, I2list *rsyms, I2list *fsyms)
function Ilist (line 322) | Ilist function_symbols_in_formula(Formula f)
function Ilist (line 344) | Ilist relation_symbols_in_formula(Formula f)
function BOOL (line 366) | BOOL relation_symbol_in_formula(int sn, Formula f)
function Formula (line 386) | Formula term_to_formula(Term t)
function Term (line 459) | Term formula_to_term(Formula f)
function fprint_formula (line 533) | void fprint_formula(FILE *fp, Formula f)
function p_formula (line 602) | void p_formula(Formula c)
function hash_formula (line 621) | unsigned hash_formula(Formula f)
function BOOL (line 652) | BOOL formula_ident(Formula f, Formula g)
function Formula (line 682) | Formula formula_copy(Formula f)
function BOOL (line 708) | BOOL dual_type(int op)
function Formula (line 730) | Formula dual(Formula f)
function Formula (line 750) | Formula and(Formula a, Formula b)
function Formula (line 768) | Formula or(Formula a, Formula b)
function Formula (line 786) | Formula imp(Formula a, Formula b)
function Formula (line 804) | Formula impby(Formula a, Formula b)
function Formula (line 818) | static
function Formula (line 836) | Formula negate(Formula a)
function BOOL (line 851) | BOOL quant_form(Formula f)
function Formula (line 866) | Formula flatten_top(Formula f)
function Formula (line 922) | Formula formula_flatten(Formula f)
function Formula (line 949) | Formula nnf2(Formula f, Fpref pref)
function Formula (line 1069) | Formula nnf(Formula f)
function Formula (line 1085) | Formula make_conjunction(Formula f)
function Formula (line 1107) | Formula make_disjunction(Formula f)
function formula_canon_eq (line 1130) | void formula_canon_eq(Formula f)
function formula_size (line 1161) | int formula_size(Formula f)
function greatest_qvar (line 1189) | int greatest_qvar(Formula f)
function greatest_symnum_in_formula (line 1222) | int greatest_symnum_in_formula(Formula f)
function subst_free_var (line 1256) | void subst_free_var(Formula f, Term target, Term replacement)
function Formula (line 1276) | static
function Formula (line 1332) | Formula eliminate_rebinding(Formula f)
function Plist (line 1344) | static
function BOOL (line 1374) | BOOL closed_formula(Formula f)
function Formula (line 1392) | Formula get_quant_form(Ftype type, char *qvar, Formula subformula)
function Formula (line 1406) | static
function Formula (line 1430) | Formula universal_closure(Formula f)
function BOOL (line 1444) | static
function BOOL (line 1472) | BOOL free_variable(char *svar, Formula f)
function Formula (line 1495) | Formula formulas_to_conjunction(Plist formulas)
function Formula (line 1522) | Formula formulas_to_disjunction(Plist formulas)
function Plist (line 1544) | Plist copy_plist_of_formulas(Plist formulas)
function BOOL (line 1567) | BOOL literal_formula(Formula f)
function BOOL (line 1587) | BOOL clausal_formula(Formula f)
function formula_set_vars_recurse (line 1607) | static
function formula_set_variables (line 1639) | void formula_set_variables(Formula f, int max_vars)
function BOOL (line 1697) | BOOL positive_formula(Formula f)
function BOOL (line 1726) | BOOL formula_contains_attributes(Formula f)
function BOOL (line 1752) | BOOL subformula_contains_attributes(Formula f)
function Ilist (line 1775) | Ilist constants_in_formula(Formula f)
function BOOL (line 1792) | BOOL relation_in_formula(Formula f, int symnum)
function rename_all_bound_vars (line 1815) | void rename_all_bound_vars(Formula f)
function rename_these_bound_vars (line 1843) | void rename_these_bound_vars(Formula f, Ilist vars)
FILE: models/symbolic_solvers/Prover9/ladr/formula.h
type Ftype (line 34) | typedef enum {
type formula (line 38) | struct formula
type formula (line 39) | struct formula {
type Fpref (line 51) | typedef enum { CONJUNCTION,
FILE: models/symbolic_solvers/Prover9/ladr/fpa.c
type fpa_trie (line 29) | struct fpa_trie
type fpa_trie (line 31) | struct fpa_trie {
type fpa_index (line 40) | struct fpa_index {
type fpa_state (line 46) | struct fpa_state {
type path (line 61) | struct path {
type path (line 71) | struct path
function Fpa_trie (line 92) | static
function free_fpa_trie (line 107) | static
function Fpa_state (line 120) | static
function free_fpa_state (line 134) | static
function Fpa_index (line 147) | static
function free_fpa_index (line 162) | static
function fprint_fpa_mem (line 182) | void fprint_fpa_mem(FILE *fp, BOOL heading)
function p_fpa_mem (line 220) | void p_fpa_mem()
function fprint_path (line 240) | void fprint_path(FILE *fp, Ilist p)
function p_path (line 271) | void p_path(Ilist p)
function fprint_fpa_trie (line 283) | static
function fprint_fpa_index (line 326) | void fprint_fpa_index(FILE *fp, Fpa_index idx)
function p_fpa_index (line 345) | void p_fpa_index(Fpa_index idx)
function Fpa_trie (line 359) | static
function Fpa_trie (line 399) | static
function fpa_trie_possible_delete (line 429) | static
function path_insert (line 456) | static
function path_delete (line 478) | static
function Ilist (line 505) | static
function path_restore (line 528) | static
function fpa_paths (line 547) | static
function Fpa_index (line 591) | Fpa_index fpa_init_index(int depth)
function fpa_update (line 616) | void fpa_update(Term t, Fpa_index idx, Indexop op)
function Fpa_state (line 644) | static
function Fpa_state (line 662) | static
function Fpa_state (line 689) | static
function Fpa_state (line 706) | static
function Fpa_state (line 728) | static
function zap_fpa_state (line 778) | static
function Fpa_state (line 797) | static
function BOOL (line 845) | static
function BOOL (line 858) | static
function Fpa_state (line 877) | static
function fprint_fpa_state (line 961) | void fprint_fpa_state(FILE *fp, Fpa_state q, int depth)
function p_fpa_state (line 1007) | void p_fpa_state(Fpa_state q)
function p_fpa_query (line 1023) | void p_fpa_query(Term t, Querytype query_type, Fpa_index idx)
function Term (line 1062) | static
function Term (line 1180) | Term fpa_next_answer(Fpa_state q)
function Term (line 1206) | Term fpa_first_answer(Term t, Context c, Querytype query_type,
function fpa_cancel (line 1229) | void fpa_cancel(Fpa_state q)
function zap_fpa_trie (line 1240) | static
function zap_fpa_index (line 1273) | void zap_fpa_index(Fpa_index idx)
function BOOL (line 1290) | BOOL fpa_empty(Fpa_index idx)
function fpa_density (line 1301) | static
function p_fpa_density (line 1325) | void p_fpa_density(Fpa_index idx)
function mega_next_calls (line 1340) | unsigned mega_next_calls(void)
FILE: models/symbolic_solvers/Prover9/ladr/fpa.h
type fpa_index (line 52) | struct fpa_index
type fpa_state (line 53) | struct fpa_state
FILE: models/symbolic_solvers/Prover9/ladr/fpalist.c
function Fpa_chunk (line 69) | static
function free_fpa_chunk (line 86) | static
function Fpa_list (line 105) | Fpa_list get_fpa_list()
function free_fpa_list (line 119) | static
function fprint_fpalist_mem (line 139) | void fprint_fpalist_mem(FILE *fp, BOOL heading)
function p_fpalist_mem (line 173) | void p_fpalist_mem()
function Fpa_chunk (line 193) | static
function Fpa_chunk (line 231) | static
function fpalist_insert (line 314) | void fpalist_insert(Fpa_list p, Term t)
function Fpa_chunk (line 343) | static
function Fpa_chunk (line 366) | static
function fpalist_delete (line 413) | void fpalist_delete(Fpa_list p, Term t)
function first_fpos (line 433) | struct fposition first_fpos(Fpa_list f)
function next_fpos (line 448) | struct fposition next_fpos(struct fposition p)
function zap_fpa_chunks (line 474) | void zap_fpa_chunks(Fpa_chunk p)
function zap_fpalist (line 492) | void zap_fpalist(Fpa_list p)
function BOOL (line 508) | BOOL fpalist_empty(Fpa_list p)
function p_fpa_list (line 523) | void p_fpa_list(Fpa_chunk c)
FILE: models/symbolic_solvers/Prover9/ladr/fpalist.h
type fpa_chunk (line 60) | struct fpa_chunk
type fpa_list (line 61) | struct fpa_list
type fpa_chunk (line 63) | struct fpa_chunk {
type fpa_list (line 71) | struct fpa_list {
type fposition (line 80) | struct fposition {
type fposition (line 99) | struct fposition
type fposition (line 101) | struct fposition
type fposition (line 101) | struct fposition
FILE: models/symbolic_solvers/Prover9/ladr/glist.c
function Ilist (line 47) | Ilist get_ilist(void)
function free_ilist (line 65) | void free_ilist(Ilist p)
function Plist (line 81) | Plist get_plist(void)
function free_plist (line 99) | void free_plist(Plist p)
function I2list (line 115) | I2list get_i2list(void)
function free_i2list (line 133) | void free_i2list(I2list p)
function I3list (line 149) | I3list get_i3list(void)
function free_i3list (line 167) | void free_i3list(I3list p)
function fprint_glist_mem (line 186) | void fprint_glist_mem(FILE *fp, BOOL heading)
function p_glist_mem (line 224) | void p_glist_mem()
function Plist (line 251) | Plist plist_cat(Plist p1, Plist p2)
function Plist (line 282) | Plist plist_cat2(Plist p1, Plist p2)
function Plist (line 299) | Plist plist_pop(Plist p)
function plist_count (line 318) | int plist_count(Plist p)
function Plist (line 331) | static
function Plist (line 361) | Plist reverse_plist(Plist p)
function Plist (line 377) | Plist copy_plist(Plist p)
function zap_plist (line 408) | void zap_plist(Plist p)
function Plist (line 432) | Plist plist_append(Plist lst, void *v)
function Plist (line 458) | Plist plist_prepend(Plist lst, void *v)
function BOOL (line 477) | BOOL plist_member(Plist lst, void *v)
function Plist (line 500) | Plist plist_subtract(Plist p1, Plist p2)
function BOOL (line 523) | BOOL plist_subset(Plist a, Plist b)
function Plist (line 544) | Plist plist_remove(Plist p, void *v)
function Plist (line 572) | Plist plist_remove_string(Plist p, char *s)
function Plist (line 599) | Plist sort_plist(Plist objects, Ordertype (*comp_proc) (void *, void *))
function Plist (line 624) | Plist plist_remove_last(Plist p)
function position_of_string_in_plist (line 649) | int position_of_string_in_plist(char *s, Plist p)
function BOOL (line 674) | BOOL string_member_plist(char *s, Plist p)
function longest_string_in_plist (line 690) | int longest_string_in_plist(Plist p)
function Ilist (line 759) | Ilist ilist_cat(Ilist p1, Ilist p2)
function Ilist (line 788) | Ilist ilist_cat2(Ilist p1, Ilist p2)
function Ilist (line 810) | Ilist ilist_pop(Ilist p)
function ilist_count (line 829) | int ilist_count(Ilist p)
function Ilist (line 842) | static
function Ilist (line 872) | Ilist reverse_ilist(Ilist p)
function Ilist (line 888) | Ilist copy_ilist(Ilist p)
function zap_ilist (line 918) | void zap_ilist(Ilist p)
function Ilist (line 942) | Ilist ilist_append(Ilist lst, int i)
function Ilist (line 968) | Ilist ilist_prepend(Ilist lst, int i)
function Ilist (line 986) | Ilist ilist_last(Ilist lst)
function BOOL (line 1009) | BOOL ilist_member(Ilist lst, int i)
function Ilist (line 1032) | Ilist ilist_subtract(Ilist p1, Ilist p2)
function Ilist (line 1058) | Ilist ilist_removeall(Ilist p, int i)
function Ilist (line 1086) | Ilist ilist_intersect(Ilist a, Ilist b)
function Ilist (line 1114) | Ilist ilist_union(Ilist a, Ilist b)
function Ilist (line 1137) | Ilist ilist_set(Ilist m)
function Ilist (line 1163) | Ilist ilist_rem_dups(Ilist m)
function BOOL (line 1190) | BOOL ilist_is_set(Ilist a)
function BOOL (line 1210) | BOOL ilist_subset(Ilist a, Ilist b)
function fprint_ilist (line 1232) | void fprint_ilist(FILE *fp, Ilist p)
function p_ilist (line 1255) | void p_ilist(Ilist p)
function Ilist (line 1272) | Ilist ilist_copy(Ilist p)
function Ilist (line 1294) | Ilist ilist_remove_last(Ilist p)
function ilist_occurrences (line 1319) | int ilist_occurrences(Ilist p, int i)
function Ilist (line 1337) | Ilist ilist_insert_up(Ilist p, int i)
function position_in_ilist (line 1362) | int position_in_ilist(int i, Ilist p)
function zap_i2list (line 1392) | void zap_i2list(I2list p)
function I2list (line 1416) | I2list i2list_append(I2list lst, int i, int j)
function I2list (line 1443) | I2list i2list_prepend(I2list lst, int i, int j)
function I2list (line 1465) | I2list i2list_removeall(I2list p, int i)
function I2list (line 1490) | I2list i2list_member(I2list lst, int i)
function p_i2list (line 1512) | void p_i2list(I2list p)
function i2list_count (line 1534) | int i2list_count(I2list p)
function BOOL (line 1556) | BOOL i3list_member(I3list lst, int i, int j, int k)
function I3list (line 1578) | I3list i3list_append(I3list lst, int i, int j, int k)
function I3list (line 1606) | I3list i3list_prepend(I3list lst, int i, int j, int k)
function zap_i3list (line 1627) | void zap_i3list(I3list p)
function I3list (line 1645) | static
function I3list (line 1675) | I3list reverse_i3list(I3list p)
function I3list (line 1691) | I3list copy_i3list(I3list p)
function i3list_count (line 1723) | int i3list_count(I3list p)
function I2list (line 1750) | I2list alist_insert(I2list p, int key, int val)
function assoc (line 1766) | int assoc(I2list p, int key)
function I3list (line 1793) | I3list alist2_insert(I3list p, int key, int a, int b)
function assoc2a (line 1809) | int assoc2a(I3list p, int key)
function assoc2b (line 1831) | int assoc2b(I3list p, int key)
function I3list (line 1852) | I3list alist2_remove(I3list p, int key)
function BOOL (line 1889) | BOOL i2list_multimember(I2list b, int i, int n)
function BOOL (line 1909) | BOOL i2list_multisubset(I2list a, I2list b)
function I2list (line 1930) | I2list multiset_add_n(I2list a, int i, int n)
function I2list (line 1955) | I2list multiset_add(I2list a, int i)
function I2list (line 1973) | I2list multiset_union(I2list a, I2list b)
function Ilist (line 1992) | Ilist multiset_to_set(I2list m)
function multiset_occurrences (line 2014) | int multiset_occurrences(I2list m, int i)
FILE: models/symbolic_solvers/Prover9/ladr/glist.h
type plist (line 35) | struct plist
type plist (line 37) | struct plist {
type ilist (line 42) | struct ilist
type ilist (line 44) | struct ilist {
type i2list (line 49) | struct i2list
type i2list (line 51) | struct i2list {
type i3list (line 57) | struct i3list
type i3list (line 59) | struct i3list {
FILE: models/symbolic_solvers/Prover9/ladr/hash.c
type hashtab (line 23) | struct hashtab {
type hashnode (line 28) | struct hashnode {
function Hashtab (line 49) | static
function free_hashtab (line 63) | static
function Hashnode (line 76) | static
function free_hashnode (line 90) | static
function fprint_hash_mem (line 110) | void fprint_hash_mem(FILE *fp, BOOL heading)
function p_hash_mem (line 142) | void p_hash_mem()
function Hashtab (line 161) | Hashtab hash_init(int size)
function hash_insert (line 180) | void hash_insert(void *v, unsigned hashval, Hashtab h)
function hash_delete (line 220) | void hash_delete(void *v, unsigned hashval, Hashtab h,
function hash_destroy (line 255) | void hash_destroy(Hashtab h)
function hash_info (line 280) | void hash_info(Hashtab h)
FILE: models/symbolic_solvers/Prover9/ladr/hash.h
type hashtab (line 24) | struct hashtab
type hashnode (line 25) | struct hashnode
FILE: models/symbolic_solvers/Prover9/ladr/header.h
type BOOL (line 29) | typedef enum { FALSE=0, TRUE=1 } BOOL;
FILE: models/symbolic_solvers/Prover9/ladr/hints.c
function init_hints (line 50) | void init_hints(Uniftype utype,
function done_with_hints (line 76) | void done_with_hints(void)
function redundant_hints (line 99) | int redundant_hints(void)
function Topform (line 110) | static
function Topform (line 138) | static
function index_hint (line 168) | void index_hint(Topform c)
function unindex_hint (line 208) | void unindex_hint(Topform c)
function adjust_weight_with_hints (line 232) | void adjust_weight_with_hints(Topform c,
function keep_hint_matcher (line 300) | void keep_hint_matcher(Topform c)
function back_demod_hints (line 316) | void back_demod_hints(Topform demod, int type, BOOL lex_order_vars)
FILE: models/symbolic_solvers/Prover9/ladr/ibuffer.c
function Ibuffer (line 39) | Ibuffer ibuf_init(void)
function ibuf_free (line 60) | void ibuf_free(Ibuffer ibuf)
function ibuf_write (line 77) | void ibuf_write(Ibuffer ibuf, int i)
function ibuf_write_block (line 106) | void ibuf_write_block(Ibuffer ibuf, int *a, int n)
function ibuf_rewind (line 124) | void ibuf_rewind(Ibuffer ibuf)
function ibuf_read (line 141) | int ibuf_read(Ibuffer ibuf)
function ibuf_xread (line 165) | int ibuf_xread(Ibuffer ibuf)
function ibuf_length (line 185) | int ibuf_length(Ibuffer ibuf)
function Ibuffer (line 217) | Ibuffer fd_read_to_ibuf(int fd)
function p_ibuf (line 254) | void p_ibuf(Ibuffer ibuf)
FILE: models/symbolic_solvers/Prover9/ladr/ibuffer.h
type ibuffer (line 32) | struct ibuffer {
type ibuffer (line 39) | struct ibuffer
FILE: models/symbolic_solvers/Prover9/ladr/index.h
type Querytype (line 29) | typedef enum { UNIFY,
type Indexop (line 38) | typedef enum { INSERT,
FILE: models/symbolic_solvers/Prover9/ladr/int_code.c
function put_ilist_to_ibuf (line 29) | static
function Ilist (line 44) | static
function put_i3list_to_ibuf (line 62) | static
function I3list (line 80) | static
function put_term_to_ibuf (line 102) | static
function Term (line 122) | static
function put_just_to_ibuf (line 149) | static
function Just (line 207) | static
function put_clause_to_ibuf (line 277) | void put_clause_to_ibuf(Ibuffer ibuf, Topform c)
function Topform (line 312) | Topform get_clause_from_ibuf(Ibuffer ibuf)
function check_ibuf_clause (line 348) | void check_ibuf_clause(Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/interp.c
type interp (line 28) | struct interp {
function Interp (line 81) | static
function free_interp (line 95) | static
function fprint_interp_mem (line 115) | void fprint_interp_mem(FILE *fp, BOOL heading)
function p_interp_mem (line 141) | void p_interp_mem()
function int_power (line 179) | int int_power(int n, int exp)
function Interp (line 219) | Interp compile_interp(Term t, BOOL allow_incomplete)
function transpose_binary (line 355) | void transpose_binary(Term t)
function zap_interp (line 394) | void zap_interp(Interp p)
function fprint_interp_tex (line 436) | void fprint_interp_tex(FILE *fp, Interp p)
function compute_args (line 534) | static
function fprint_interp_xml (line 558) | void fprint_interp_xml(FILE *fp, Interp p)
function fprint_interp_standard (line 669) | void fprint_interp_standard(FILE *fp, Interp p)
function fprint_interp_standard2 (line 727) | void fprint_interp_standard2(FILE *fp, Interp p)
function portable_indent (line 785) | static void portable_indent(FILE *fp, int n)
function portable_recurse (line 799) | static
function fprint_interp_portable (line 834) | void fprint_interp_portable(FILE *fp, Interp p)
function p_interp (line 891) | void p_interp(Interp p)
function fprint_interp_cooked (line 908) | void fprint_interp_cooked(FILE *fp, Interp p)
function fprint_interp_tabular (line 979) | void fprint_interp_tabular(FILE *fp, Interp p)
function fprint_interp_raw (line 1065) | void fprint_interp_raw(FILE *fp, Interp p)
function eval_term_ground (line 1120) | int eval_term_ground(Term t, Interp p, int *vals)
function BOOL (line 1168) | static
function BOOL (line 1194) | static
function BOOL (line 1238) | BOOL eval_literals(Literals lits, Interp p)
function all_recurse2 (line 1262) | static
function eval_literals_true_instances (line 1295) | int eval_literals_true_instances(Literals lits, Interp p)
function eval_literals_false_instances (line 1322) | int eval_literals_false_instances(Literals lits, Interp p)
function eval_fterm_ground (line 1339) | static
function BOOL (line 1389) | static
function BOOL (line 1483) | BOOL eval_formula(Formula f, Interp p)
function Term (line 1524) | Term interp_remove_constants_recurse(Term ops)
function interp_remove_constants (line 1552) | void interp_remove_constants(Term t)
function Term (line 1568) | Term interp_remove_others_recurse(Term ops, Plist keepers)
function interp_remove_others (line 1596) | void interp_remove_others(Term t, Plist keepers)
function Interp (line 1612) | Interp copy_interp(Interp p)
function Interp (line 1697) | Interp permute_interp(Interp source, int *p)
function BOOL (line 1765) | BOOL ident_interp_perm(Interp a, Interp b, int *p)
function Interp (line 1846) | Interp normal_interp(Interp a)
function BOOL (line 1889) | static
function BOOL (line 1931) | BOOL isomorphic_interps(Interp a, Interp b, BOOL normal)
function interp_size (line 1969) | int interp_size(Interp a)
function Term (line 1985) | Term interp_comments(Interp a)
function iso_checks (line 2022) | long unsigned iso_checks(void)
function iso_perms (line 2038) | long unsigned iso_perms(void)
function BOOL (line 2053) | BOOL evaluable_term(Term t, Interp p)
function BOOL (line 2084) | BOOL evaluable_atom(Term a, Interp p)
function BOOL (line 2115) | BOOL evaluable_literals(Literals lits, Interp p)
function BOOL (line 2134) | BOOL evaluable_formula(Formula f, Interp p)
function BOOL (line 2157) | BOOL evaluable_topform(Topform tf, Interp p)
function update_interp_with_constant (line 2175) | void update_interp_with_constant(Interp p, Term constant, int val)
function BOOL (line 2201) | BOOL eval_topform(Topform tf, Interp p)
function Ordertype (line 2221) | Ordertype compare_interp(Interp a, Interp b)
function BOOL (line 2254) | BOOL ident_interp(Interp a, Interp b)
function Ordertype (line 2259) | static
function invert_perm (line 2270) | static
function copy_perm (line 2278) | static
function Ordertype (line 2300) | static
function canon_recurse (line 2375) | static
function Interp (line 2426) | Interp canon_interp(Interp a)
function assign_discriminator_counts (line 2460) | void assign_discriminator_counts(Interp a, Plist discriminators)
function BOOL (line 2484) | BOOL same_discriminator_counts(Interp a, Interp b)
function update_profile (line 2503) | void update_profile(Topform c, Interp a, int *next)
function create_profile (line 2538) | void create_profile(Interp a, Plist discriminators)
function p_interp_profile (line 2573) | void p_interp_profile(Interp a, Plist discriminators)
function Interp (line 2625) | Interp normal3_interp(Interp a, Plist discriminators)
function BOOL (line 2695) | BOOL same_profiles(Interp a, Interp b)
function perms_required (line 2715) | long unsigned perms_required(Interp a)
function factorial (line 2750) | long unsigned factorial(int n)
FILE: models/symbolic_solvers/Prover9/ladr/interp.h
type interp (line 30) | struct interp
FILE: models/symbolic_solvers/Prover9/ladr/ioutil.c
function fwrite_formula (line 39) | void fwrite_formula(FILE *fp, Formula f)
function Topform (line 66) | Topform read_clause(FILE *fin, FILE *fout)
function Topform (line 89) | Topform parse_clause_from_string(char *s)
function BOOL (line 108) | BOOL end_of_list_clause(Topform c)
function Clist (line 139) | Clist read_clause_clist(FILE *fin, FILE *fout, char *name, BOOL assign_id)
function Plist (line 168) | Plist read_clause_list(FILE *fin, FILE *fout, BOOL assign_id)
function sb_write_clause_jmap (line 185) | void sb_write_clause_jmap(String_buf sb, Topform c,
function sb_write_clause (line 245) | void sb_write_clause(String_buf sb, Topform c, int format)
function sb_xml_write_clause_jmap (line 262) | void sb_xml_write_clause_jmap(String_buf sb, Topform c, I3list map)
function sb_tagged_write_clause_jmap (line 328) | void sb_tagged_write_clause_jmap(String_buf sb, Topform c, I3list map)
function fwrite_clause_jmap (line 372) | void fwrite_clause_jmap(FILE *fp, Topform c, int format, I3list map)
function fwrite_clause (line 405) | void fwrite_clause(FILE *fp, Topform c, int format)
function f_clause (line 421) | void f_clause(Topform c)
function fwrite_clause_clist (line 444) | void fwrite_clause_clist(FILE *fp, Clist lst, int format)
function fwrite_demod_clist (line 470) | void fwrite_demod_clist(FILE *fp, Clist lst, int format)
function fwrite_clause_list (line 510) | void fwrite_clause_list(FILE *fp, Plist lst, char *name, int format)
function f_clauses (line 535) | void f_clauses(Plist p)
function Formula (line 554) | Formula read_formula(FILE *fin, FILE *fout)
function BOOL (line 576) | BOOL end_of_list_formula(Formula f)
function Plist (line 605) | Plist read_formula_list(FILE *fin, FILE *fout)
function fwrite_formula_list (line 639) | void fwrite_formula_list(FILE *fp, Plist lst, char *name)
function zap_formula_list (line 665) | void zap_formula_list(Plist lst)
function BOOL (line 687) | BOOL end_of_list_term(Term t)
function BOOL (line 708) | BOOL end_of_commands_term(Term t)
function Plist (line 735) | Plist read_term_list(FILE *fin, FILE *fout)
function fwrite_term_list (line 769) | void fwrite_term_list(FILE *fp, Plist lst, char *name)
function Term (line 801) | Term term_reader(BOOL fast)
function term_writer (line 823) | void term_writer(Term t, BOOL fast)
function Topform (line 847) | Topform clause_reader(BOOL fast)
function clause_writer (line 863) | void clause_writer(Topform c, BOOL fast)
function Topform (line 882) | Topform term_to_topform2(Term t)
function Topform (line 912) | Topform read_clause_or_formula(FILE *fin, FILE *fout)
function Plist (line 934) | Plist read_clause_or_formula_list(FILE *fin, FILE *fout)
FILE: models/symbolic_solvers/Prover9/ladr/ivy.c
function ivy_term_trans (line 56) | static
function ivy_clause_trans (line 77) | static
function sb_ivy_write_term (line 92) | static
function sb_ivy_write_pair (line 117) | static
function sb_ivy_write_pairs (line 135) | static
function sb_ivy_write_position (line 154) | static
function sb_ivy_write_lit (line 173) | static
function sb_ivy_write_literals (line 191) | static
function sb_ivy_write_just (line 217) | void sb_ivy_write_just(String_buf sb, Ivyjust j, I3list map)
function sb_ivy_write_clause_jmap (line 275) | void sb_ivy_write_clause_jmap(String_buf sb, Topform c, I3list map)
function Topform (line 298) | static
function Topform (line 315) | static
function Ilist (line 338) | static
function Ilist (line 367) | static
function Plist (line 395) | static
function Topform (line 480) | static
function Plist (line 523) | static
function Plist (line 620) | static
function Plist (line 681) | static
function Plist (line 704) | Plist expand_proof_ivy(Plist proof)
FILE: models/symbolic_solvers/Prover9/ladr/just.c
function Just (line 49) | Just get_just(void)
function free_just (line 62) | static
function Parajust (line 79) | Parajust get_parajust(void)
function free_parajust (line 92) | static
function Instancejust (line 109) | Instancejust get_instancejust(void)
function free_instancejust (line 122) | static
function Ivyjust (line 135) | static
function free_ivyjust (line 149) | static
function fprint_just_mem (line 169) | void fprint_just_mem(FILE *fp, BOOL heading)
function p_just_mem (line 213) | void p_just_mem()
function Just (line 232) | Just ivy_just(Just_type type,
function Just (line 260) | Just input_just(void)
function Just (line 279) | Just goal_just(void)
function Just (line 298) | Just deny_just(Topform tf)
function Just (line 318) | Just clausify_just(Topform tf)
function Just (line 338) | Just expand_def_just(Topform tf, Topform def)
function Just (line 358) | Just copy_just(Topform c)
function Just (line 378) | Just propositional_just(Topform c)
function Just (line 398) | Just new_symbol_just(Topform c)
function Just (line 418) | Just back_demod_just(Topform c)
function Just (line 438) | Just back_unit_deletion_just(Topform c)
function Just (line 460) | Just binary_res_just(Topform c1, int n1, Topform c2, int n2)
function Just (line 484) | Just binary_res_just_by_id(int c1, int n1, int c2, int n2)
function Just (line 508) | Just factor_just(Topform c, int lit1, int lit2)
function Just (line 528) | Just xxres_just(Topform c, int lit)
function Just (line 549) | Just resolve_just(Ilist g, Just_type type)
function Just (line 568) | Just demod_just(I3list steps)
function Just (line 588) | Just para_just(Just_type rule,
function Just (line 616) | Just instance_just(Topform parent, Plist pairs)
function Just (line 640) | Just para_just_rev_copy(Just_type rule,
function Just (line 660) | Just unit_del_just(Topform deleter, int literal_num)
function Just (line 680) | Just flip_just(int n)
function Just (line 700) | Just xx_just(int n)
function Just (line 721) | Just merge_just(int n)
function Just (line 741) | Just eval_just(int n)
function Just (line 760) | Just append_just(Just j1, Just j2)
function Just (line 781) | Just copy_justification(Just j)
function jstring_to_jtype (line 906) | static
function itoc (line 973) | static
function ctoi (line 992) | static
function jmap1 (line 1015) | int jmap1(I3list map, int i)
function sb_append_id (line 1065) | void sb_append_id(String_buf sb, int id, I3list map)
function sb_write_res_just (line 1080) | static
function sb_write_position (line 1119) | static
function sb_write_ids (line 1142) | void sb_write_ids(String_buf sb, Ilist p, I3list map)
function sb_write_just (line 1164) | void sb_write_just(String_buf sb, Just just, I3list map)
function sb_xml_write_just (line 1324) | void sb_xml_write_just(String_buf sb, Just just, I3list map)
function p_just (line 1371) | void p_just(Just j)
function zap_parajust (line 1386) | static
function zap_instancejust (line 1400) | static
function zap_ivyjust (line 1413) | static
function zap_just (line 1433) | void zap_just(Just just)
function Ilist (line 1491) | Ilist get_parents(Just just, BOOL all)
function Topform (line 1586) | Topform first_negative_parent(Topform c)
function Plist (line 1606) | static
function Plist (line 1643) | Plist get_clause_ancestors(Topform c)
function proof_length (line 1659) | int proof_length(Plist proof)
function map_id (line 1670) | static
function map_just (line 1688) | void map_just(Just just, I2list map)
function just_count (line 1780) | int just_count(Just j)
function mark_parents_as_used (line 1797) | void mark_parents_as_used(Topform c)
function I2list (line 1814) | static
function clause_level (line 1849) | int clause_level(Topform c)
function lit_string_to_int (line 1863) | static
function Ilist (line 1881) | static
function Just (line 1914) | Just term_to_just(Term lst)
function BOOL (line 2078) | BOOL primary_just_type(Topform c, Just_type t)
function BOOL (line 2094) | BOOL has_input_just(Topform c)
function BOOL (line 2110) | BOOL has_copy_just(Topform c)
function BOOL (line 2126) | BOOL has_copy_flip_just(Topform c)
function sb_tagged_write_res_just (line 2147) | static
function sb_tagged_write_just (line 2183) | void sb_tagged_write_just(String_buf sb, Just just, I3list map)
FILE: models/symbolic_solvers/Prover9/ladr/just.h
type Just_type (line 30) | typedef enum {
type parajust (line 64) | struct parajust
type parajust (line 66) | struct parajust {
type instancejust (line 73) | struct instancejust
type instancejust (line 75) | struct instancejust {
type ivyjust (line 80) | struct ivyjust
type ivyjust (line 82) | struct ivyjust {
type just (line 91) | struct just
type just (line 93) | struct just {
FILE: models/symbolic_solvers/Prover9/ladr/kol.py
function kolmogorov (line 9) | def kolmogorov(string):
FILE: models/symbolic_solvers/Prover9/ladr/lindex.c
function Lindex (line 36) | static
function free_lindex (line 50) | static
function fprint_lindex_mem (line 70) | void fprint_lindex_mem(FILE *fp, BOOL heading)
function p_lindex_mem (line 96) | void p_lindex_mem()
function Lindex (line 126) | Lindex lindex_init(Mindextype pos_mtype, Uniftype pos_utype, int pos_fpa...
function lindex_destroy (line 149) | void lindex_destroy(Lindex ldx)
function lindex_update (line 167) | void lindex_update(Lindex ldx, Topform c, Indexop op)
function lindex_update_first (line 189) | void lindex_update_first(Lindex ldx, Topform c, Indexop op)
function BOOL (line 212) | BOOL lindex_empty(Lindex idx)
function BOOL (line 229) | BOOL lindex_backtrack(Lindex idx)
FILE: models/symbolic_solvers/Prover9/ladr/lindex.h
type lindex (line 48) | struct lindex
type lindex (line 50) | struct lindex {
FILE: models/symbolic_solvers/Prover9/ladr/listterm.c
function Term (line 37) | Term get_nil_term()
function Term (line 54) | Term listterm_cons(Term t1, Term t2)
function BOOL (line 74) | BOOL cons_term(Term t)
function BOOL (line 91) | BOOL nil_term(Term t)
function BOOL (line 109) | BOOL proper_listterm(Term t)
function Term (line 137) | Term listterm_append(Term list, Term element)
function listterm_length (line 158) | int listterm_length(Term t)
function Term (line 179) | Term listterm_i(Term lst, int i)
function BOOL (line 200) | BOOL listterm_member(Term t, Term lst)
function Plist (line 224) | Plist listterm_to_tlist(Term t)
function listterm_zap (line 249) | void listterm_zap(Term t)
function Term (line 265) | static
function Term (line 286) | Term listterm_reverse(Term t)
FILE: models/symbolic_solvers/Prover9/ladr/literals.c
function Literals (line 40) | Literals get_literals(void)
function free_literals (line 57) | void free_literals(Literals p)
function fprint_literals_mem (line 76) | void fprint_literals_mem(FILE *fp, int heading)
function p_literals_mem (line 102) | void p_literals_mem()
function zap_literal (line 122) | void zap_literal(Literals l)
function zap_literals (line 139) | void zap_literals(Literals l)
function Literals (line 159) | Literals new_literal(int sign, Term atom)
function Literals (line 177) | Literals copy_literal(Literals lit)
function Literals (line 193) | Literals append_literal(Literals lits, Literals lit)
function Literals (line 213) | Literals term_to_literals(Term t, Literals lits)
function Term (line 248) | Term literal_to_term(Literals l)
function Term (line 270) | Term literals_to_term(Literals l)
function Term (line 297) | Term lits_to_term(Literals l)
function free_lits_to_term (line 327) | void free_lits_to_term(Term t)
function positive_literals (line 349) | int positive_literals(Literals lits)
function negative_literals (line 370) | int negative_literals(Literals lits)
function BOOL (line 391) | BOOL positive_clause(Literals lits)
function BOOL (line 407) | BOOL any_clause(Literals lits)
function BOOL (line 423) | BOOL negative_clause(Literals lits)
function BOOL (line 440) | BOOL mixed_clause(Literals lits)
function number_of_literals (line 457) | int number_of_literals(Literals lits)
function BOOL (line 476) | BOOL unit_clause(Literals lits)
function BOOL (line 492) | BOOL horn_clause(Literals lits)
function BOOL (line 508) | BOOL definite_clause(Literals lits)
function greatest_variable_in_clause (line 525) | int greatest_variable_in_clause(Literals lits)
function Plist (line 547) | Plist vars_in_clause(Literals lits)
function Ilist (line 566) | Ilist varnums_in_clause(Literals lits)
function number_of_variables (line 590) | int number_of_variables(Literals lits)
function BOOL (line 608) | BOOL ground_clause(Literals lits)
function Literals (line 626) | Literals copy_literals(Literals lits)
function Literals (line 652) | Literals copy_literals_with_flags(Literals lits)
function Literals (line 678) | Literals copy_literals_with_flag(Literals lits, int flag)
function literal_number (line 704) | int literal_number(Literals lits, Literals lit)
function atom_number (line 729) | int atom_number(Literals lits, Term atom)
function Literals (line 753) | Literals ith_literal(Literals lits, int i)
function BOOL (line 775) | BOOL true_clause(Literals lits)
function BOOL (line 791) | static
function BOOL (line 815) | BOOL tautology(Literals lits)
function symbol_occurrences_in_clause (line 839) | int symbol_occurrences_in_clause(Literals lits, int symnum)
function Literals (line 859) | Literals remove_null_literals(Literals l)
function Literals (line 885) | Literals first_literal_of_sign(Literals lits, BOOL sign)
function Ilist (line 906) | Ilist constants_in_clause(Literals lits)
function BOOL (line 927) | BOOL clause_ident(Literals lits1, Literals lits2)
function clause_symbol_count (line 952) | int clause_symbol_count(Literals lits)
function clause_depth (line 972) | int clause_depth(Literals lits)
function BOOL (line 995) | BOOL pos_eq(Literals lit)
function BOOL (line 1012) | BOOL neg_eq(Literals lit)
function BOOL (line 1029) | BOOL pos_eq_unit(Literals lits)
function BOOL (line 1047) | BOOL neg_eq_unit(Literals lits)
function BOOL (line 1066) | BOOL contains_pos_eq(Literals lits)
function BOOL (line 1089) | BOOL contains_eq(Literals lits)
function BOOL (line 1111) | BOOL only_eq(Literals lits)
function literals_depth (line 1133) | int literals_depth(Literals lits)
function Term (line 1154) | Term term_at_position(Literals lits, Ilist pos)
function Ilist (line 1175) | Ilist pos_predicates(Ilist p, Literals lits)
FILE: models/symbolic_solvers/Prover9/ladr/literals.h
type literals (line 30) | struct literals
type literals (line 32) | struct literals {
FILE: models/symbolic_solvers/Prover9/ladr/maximal.c
function init_maximal (line 37) | void init_maximal(void)
function BOOL (line 52) | static
function BOOL (line 83) | BOOL max_lit_test(Literals lits, Literals lit)
function BOOL (line 110) | BOOL max_signed_lit_test(Literals lits, Literals lit)
function mark_maximal_literals (line 134) | void mark_maximal_literals(Literals lits)
function BOOL (line 164) | BOOL maximal_literal(Literals lits, Literals lit, int check)
function BOOL (line 184) | BOOL maximal_signed_literal(Literals lits, Literals lit, int check)
function number_of_maximal_literals (line 203) | int number_of_maximal_literals(Literals lits, int check)
function mark_selected_literal (line 224) | void mark_selected_literal(Literals lit)
function mark_selected_literals (line 239) | void mark_selected_literals(Literals lits, char *selection)
function BOOL (line 270) | BOOL selected_literal(Literals lit)
function BOOL (line 285) | BOOL exists_selected_literal(Literals lits)
function copy_selected_literal_marks (line 304) | void copy_selected_literal_marks(Literals a, Literals b)
FILE: models/symbolic_solvers/Prover9/ladr/memory.c
function free_mem (line 166) | void free_mem(void *q, unsigned n)
function mlist_length (line 189) | static
function memory_report (line 207) | void memory_report(FILE *fp)
function megs_malloced (line 233) | int megs_malloced(void)
function set_max_megs (line 251) | void set_max_megs(int megs)
function set_max_megs_proc (line 268) | void set_max_megs_proc(void (*proc)(void))
function bytes_palloced (line 285) | int bytes_palloced(void)
function mega_mem_calls (line 321) | unsigned mega_mem_calls(void)
function disable_max_megs (line 338) | void disable_max_megs(void)
function enable_max_megs (line 353) | void enable_max_megs(void)
FILE: models/symbolic_solvers/Prover9/ladr/mindex.c
type mindex_pos (line 23) | struct mindex_pos {
function Mindex (line 65) | static
function free_mindex (line 81) | static
function Mindex_pos (line 94) | static
function free_mindex_pos (line 109) | static
function fprint_mindex_mem (line 129) | void fprint_mindex_mem(FILE *fp, BOOL heading)
function p_mindex_mem (line 161) | void p_mindex_mem()
function Mindex (line 204) | Mindex mindex_init(Mindextype mtype, Uniftype utype, int fpa_depth)
function BOOL (line 234) | BOOL mindex_empty(Mindex mdx)
function mindex_free (line 263) | void mindex_free(Mindex mdx)
function mindex_destroy (line 295) | void mindex_destroy(Mindex mdx)
function linear_insert (line 323) | static
function linear_delete (line 342) | static
function linear_update (line 374) | static
function mindex_update (line 398) | void mindex_update(Mindex mdx, Term t, Indexop op)
function Term (line 465) | Term mindex_retrieve_first(Term t, Mindex mdx, Querytype qtype,
function Term (line 509) | static
function Term (line 564) | static
function Term (line 643) | Term mindex_retrieve_next(Mindex_pos pos)
function mindex_retrieve_cancel (line 733) | void mindex_retrieve_cancel(Mindex_pos pos)
function fprint_linear_index (line 764) | static
function fprint_mindex (line 787) | void fprint_mindex(FILE *fp, Mindex mdx)
FILE: models/symbolic_solvers/Prover9/ladr/mindex.h
type Mindextype (line 74) | typedef enum { LINEAR,
type Uniftype (line 82) | typedef enum { ORDINARY_UNIF,
type mindex (line 86) | struct mindex
type mindex_pos (line 87) | struct mindex_pos
type mindex (line 89) | struct mindex {
FILE: models/symbolic_solvers/Prover9/ladr/multiset.c
function num_occurrences (line 29) | static
function Plist (line 47) | static
function BOOL (line 83) | BOOL greater_multiset(Term a1[], int n1, Term a2[], int n2,
FILE: models/symbolic_solvers/Prover9/ladr/nonport.c
type passwd (line 47) | struct passwd
function my_process_id (line 87) | int my_process_id(void)
function get_bits (line 107) | int get_bits(void)
FILE: models/symbolic_solvers/Prover9/ladr/options.c
type Opttype (line 28) | typedef enum { FLAGT, PARMT, FLOATPARMT, STRINGPARMT } Opttype;
type optdep (line 29) | struct optdep
type optdep (line 31) | struct optdep { /* these get attached to flags/parms that have dependen...
type flag (line 42) | struct flag { /* Flags are boolean valued options */
type parm (line 49) | struct parm { /* Parms are integer valued options */
type floatparm (line 57) | struct floatparm { /* FloatParms are double-valued options */
type stringparm (line 65) | struct stringparm { /* Stringparms are string valued options */
type flag (line 74) | struct flag
type parm (line 75) | struct parm
type floatparm (line 76) | struct floatparm
type stringparm (line 77) | struct stringparm
function Optdep (line 101) | static
function free_optdep (line 116) | static
function fprint_options_mem (line 137) | void fprint_options_mem(FILE *fp, BOOL heading)
function p_options_mem (line 163) | void p_options_mem()
function enable_option_dependencies (line 182) | void enable_option_dependencies(void)
function disable_option_dependencies (line 197) | void disable_option_dependencies(void)
function BOOL (line 212) | BOOL option_dependencies_state(void)
function init_flag (line 232) | int init_flag(char *name,
function init_parm (line 269) | int init_parm(char *name,
function init_floatparm (line 304) | int init_floatparm(char *name,
function init_stringparm (line 343) | int init_stringparm(char *name,
function fprint_options (line 380) | void fprint_options(FILE *fp)
function p_options (line 433) | void p_options(void)
function flag (line 451) | int flag(int flag_id)
function parm (line 468) | int parm(int parm_id)
function BOOL (line 484) | BOOL at_parm_limit(int value, int parm_id)
function BOOL (line 504) | BOOL over_parm_limit(int value, int parm_id)
function floatparm (line 525) | double floatparm(int floatparm_id)
function BOOL (line 542) | BOOL stringparm(int id, char *s)
function update_flag (line 576) | void update_flag(FILE *fout, int id, BOOL val, BOOL echo)
function set_flag (line 654) | void set_flag(int id, BOOL echo)
function clear_flag (line 672) | void clear_flag(int id, BOOL echo)
function assign_parm (line 691) | void assign_parm(int id, int val, BOOL echo)
function assign_floatparm (line 753) | void assign_floatparm(int id, double val, BOOL echo)
function assign_stringparm (line 788) | void assign_stringparm(int id, char *val, BOOL echo)
function str_to_flag_id (line 827) | int str_to_flag_id(char *name)
function str_to_parm_id (line 848) | int str_to_parm_id(char *name)
function str_to_floatparm_id (line 869) | int str_to_floatparm_id(char *name)
function str_to_stringparm_id (line 890) | int str_to_stringparm_id(char *name)
function Optdep (line 977) | static
function flag_flag_dependency (line 1001) | void flag_flag_dependency(int id, BOOL val, int dep_id, BOOL dep_val)
function flag_flag_dep_default (line 1024) | void flag_flag_dep_default(int id, BOOL val, int dep_id)
function flag_parm_dependency (line 1047) | void flag_parm_dependency(int id, BOOL val, int dep_id, int dep_val)
function flag_floatparm_dependency (line 1070) | void flag_floatparm_dependency(int id, BOOL val, int dep_id, double dep_...
function flag_parm_dep_default (line 1093) | void flag_parm_dep_default(int id, BOOL val, int dep_id)
function flag_floatparm_dep_default (line 1116) | void flag_floatparm_dep_default(int id, BOOL val, int dep_id)
function parm_flag_dependency (line 1139) | void parm_flag_dependency(int id, int dep_id, int dep_val)
function parm_parm_dependency (line 1160) | void parm_parm_dependency(int id, int dep_id, int dep_val, BOOL multiply)
function flag_stringparm_dependency (line 1183) | void flag_stringparm_dependency(int id, BOOL val, int dep_id, char *dep_...
function flag_stringparm_dep_default (line 1206) | void flag_stringparm_dep_default(int id, BOOL val, int dep_id)
function option_updates (line 1227) | int option_updates(void)
function flag_default (line 1242) | int flag_default(int flag_id)
function parm_default (line 1257) | int parm_default(int parm_id)
function floatparm_default (line 1272) | int floatparm_default(int floatparm_id)
FILE: models/symbolic_solvers/Prover9/ladr/order.c
function merge_sort_recurse (line 49) | void merge_sort_recurse(void *a[], /* array to sort */
function merge_sort (line 110) | void merge_sort(void *a[], /* array to sort */
function Ordertype (line 129) | Ordertype compare_vecs(int *a, int *b, int n)
function copy_vec (line 151) | void copy_vec(int *a, int *b, int n)
FILE: models/symbolic_solvers/Prover9/ladr/order.h
type Ordertype (line 33) | typedef enum { NOT_COMPARABLE,
FILE: models/symbolic_solvers/Prover9/ladr/paramod.c
function paramodulation_options (line 44) | void paramodulation_options(BOOL ordered_inference,
function para_instance_prunes (line 73) | int para_instance_prunes()
function basic_paramodulation_prunes (line 89) | int basic_paramodulation_prunes(void)
function BOOL (line 100) | static
function Literals (line 117) | static
function Term (line 133) | static
function Topform (line 156) | Topform paramodulate(Literals from_lit, int from_side, Context from_subst,
function BOOL (line 199) | static
function BOOL (line 220) | static
function BOOL (line 244) | static
function BOOL (line 286) | static
function BOOL (line 318) | static
function para_into (line 340) | static
function para_into_lit (line 390) | static
function para_from_into (line 442) | void para_from_into(Topform from, Context cf,
function Topform (line 479) | Topform para_pos(Topform from_clause, Ilist from_pos,
function Topform (line 529) | Topform para_pos2(Topform from, Ilist from_pos, Topform into, Ilist into...
FILE: models/symbolic_solvers/Prover9/ladr/paramod.h
type Para_loc (line 33) | typedef enum { PARA_ALL,
FILE: models/symbolic_solvers/Prover9/ladr/parautil.c
function init_paramod (line 36) | void init_paramod(void)
function mark_renamable_flip (line 55) | void mark_renamable_flip(Term atom)
function BOOL (line 74) | BOOL renamable_flip_eq(Term atom)
function BOOL (line 95) | BOOL renamable_flip_eq_test(Term atom)
function mark_oriented_eq (line 126) | void mark_oriented_eq(Term atom)
function BOOL (line 145) | BOOL oriented_eq(Term atom)
function BOOL (line 168) | BOOL same_term_structure(Term t1, Term t2)
function flip_eq (line 194) | void flip_eq(Term atom, int n)
function orient_equalities (line 218) | void orient_equalities(Topform c, BOOL allow_flips)
function BOOL (line 295) | BOOL eq_tautology(Topform c)
function Term (line 320) | Term top_flip(Term a)
function zap_top_flip (line 343) | void zap_top_flip(Term a)
function Literals (line 358) | Literals literal_flip(Literals a)
function zap_literal_flip (line 377) | void zap_literal_flip(Literals a)
function Topform (line 389) | static
function Topform (line 422) | Topform new_constant(Topform c, int new_sn)
function Topform (line 453) | Topform fold_denial(Topform c, int alpha_max)
function BOOL (line 486) | BOOL equational_def_2(Term alpha, Term beta)
function equational_def (line 504) | int equational_def(Topform c)
function Ordertype (line 530) | Ordertype unfold_order(Term alpha, Term beta)
function Topform (line 555) | Topform build_reflex_eq(void)
FILE: models/symbolic_solvers/Prover9/ladr/parse.c
type Toktype (line 35) | typedef enum {TOK_UNKNOWN, /* probably a garbage binary char */
type Read_rc (line 45) | typedef enum {READ_BUF_OK,READ_BUF_EOF,
type token (line 50) | struct token
type token (line 52) | struct token {
type pterm (line 62) | struct pterm
type pterm (line 64) | struct pterm {
type tok_pos (line 72) | struct tok_pos
type tok_pos (line 74) | struct tok_pos {
function Token (line 101) | static
function free_token (line 115) | static
function Pterm (line 128) | static
function free_pterm (line 142) | static
function fprint_parse_mem (line 162) | void fprint_parse_mem(FILE *fp, BOOL heading)
function p_parse_mem (line 194) | void p_parse_mem(void)
function p_tokens (line 210) | static
function translate_neg_equalities (line 239) | void translate_neg_equalities(BOOL flag)
function Term (line 250) | static
function Term (line 276) | static
function free_pterm_list (line 302) | static
function free_token_list (line 321) | static
function BOOL (line 340) | static
function BOOL (line 352) | static
function BOOL (line 364) | static
function BOOL (line 376) | static
function BOOL (line 394) | static
function BOOL (line 410) | static
function BOOL (line 448) | static
function BOOL (line 465) | static
function finish_comment (line 494) | static
function read_buf (line 545) | static
function String_buf (line 605) | static
function Token (line 653) | static
function comma_terms (line 738) | static
function transfer_comma_term (line 753) | static
function BOOL (line 772) | static
function BOOL (line 789) | BOOL ordinary_constant_string(char *s)
function BOOL (line 802) | static
function BOOL (line 817) | static
function Term (line 837) | static
function next_token (line 986) | static
function Term (line 1006) | static
function Term (line 1023) | static
function Term (line 1044) | static
function Pterm (line 1108) | static
function Term (line 1227) | static
function fprint_parse_error (line 1260) | static
function Term (line 1298) | Term sread_term(String_buf sb, FILE *fout)
function Term (line 1349) | Term read_term(FILE *fin, FILE *fout)
function Term (line 1397) | Term parse_term_from_string(char *s)
function arrange_term (line 1411) | static
function sb_remove_some_space (line 1529) | static
function sb_write_term (line 1566) | void sb_write_term(String_buf sb, Term t)
function fwrite_term (line 1596) | void fwrite_term(FILE *fp, Term t)
function fwrite_term_nl (line 1619) | void fwrite_term_nl(FILE *fp, Term t)
function remember_multiple_char_special_syms (line 1662) | static
function forget_multiple_char_special_syms (line 1682) | static
function look_for_illegal_symbols (line 1702) | static
function declare_parse_type (line 1723) | void declare_parse_type(char *str, int precedence, Parsetype type)
function declare_quantifier_precedence (line 1746) | void declare_quantifier_precedence(int prec)
function declare_standard_parse_types (line 1761) | void declare_standard_parse_types(void)
function BOOL (line 1817) | BOOL redeclare_symbol_and_copy_parsetype(char *operation, char *str,
function skip_to_nl (line 1854) | void skip_to_nl(FILE *fp)
function Plist (line 1874) | Plist split_string(char *onlys)
function set_cons_char (line 1904) | void set_cons_char(char c)
function get_cons_char (line 1919) | char get_cons_char(void)
function set_quote_char (line 1934) | void set_quote_char(char c)
function get_quote_char (line 1949) | char get_quote_char(void)
function parenthesize (line 1964) | void parenthesize(BOOL setting)
function check_for_illegal_symbols (line 1979) | void check_for_illegal_symbols(BOOL setting)
function simple_parse (line 1995) | void simple_parse(BOOL setting)
FILE: models/symbolic_solvers/Prover9/ladr/pindex.c
type pair_index (line 23) | struct pair_index {
function Pair_index (line 51) | static
function free_pair_index (line 67) | static
function fprint_pindex_mem (line 87) | void fprint_pindex_mem(FILE *fp, BOOL heading)
function p_pindex_mem (line 113) | void p_pindex_mem()
function Pair_index (line 137) | Pair_index init_pair_index(int n)
function zap_pair_index (line 180) | void zap_pair_index(Pair_index p)
function pairs_exhausted (line 210) | int pairs_exhausted(Pair_index p)
function init_pair (line 223) | static
function insert_pair_index (line 265) | void insert_pair_index(Topform c, int wt, Pair_index p)
function delete_pair_index (line 304) | void delete_pair_index(Topform c, int wt, Pair_index p)
function retrieve_pair (line 401) | void retrieve_pair(Pair_index p, Topform *cp1, Topform *cp2)
function p_pair_index (line 514) | void p_pair_index(Pair_index p)
function pair_already_used (line 558) | int pair_already_used(Topform c1, int weight1,
FILE: models/symbolic_solvers/Prover9/ladr/pindex.h
type pair_index (line 54) | struct pair_index
FILE: models/symbolic_solvers/Prover9/ladr/random.c
function Term (line 45) | Term random_term(int v, int a0, int a1, int a2, int a3,
function Term (line 112) | Term random_nonvariable_term(int v, int a0, int a1, int a2, int a3,
function Term (line 136) | Term random_complex_term(int v, int a0, int a1, int a2, int a3,
function Ilist (line 161) | Ilist random_path(int length_max, int value_max)
function random_permutation (line 194) | void random_permutation(int *a, int size)
function Topform (line 238) | Topform random_clause(int v, int a0, int a1, int a2, int a3,
function Term (line 265) | Term random_op_term(int depth)
FILE: models/symbolic_solvers/Prover9/ladr/resolve.c
function resolution_options (line 45) | void resolution_options(BOOL ordered,
function res_instance_prunes (line 70) | int res_instance_prunes()
function BOOL (line 81) | static
function BOOL (line 94) | static
function BOOL (line 110) | static
function hyper_sat_atom (line 126) | static
function hyper_satellite (line 190) | static
function hyper_nucleus (line 213) | static
function hyper_resolution (line 258) | void hyper_resolution(Topform c, int pos_or_neg, Lindex idx,
function BOOL (line 275) | static
function ur_sat_atom (line 296) | static
function ur_satellite (line 363) | static
function ur_nucleus (line 384) | static
function ur_resolution (line 430) | void ur_resolution(Topform c, int target_constraint, Lindex idx,
function xx_res (line 445) | static
function binary_resolvent (line 478) | static
function BOOL (line 528) | static
function Topform (line 576) | Topform instantiate_clause(Topform c, Context subst)
function BOOL (line 593) | static
function BOOL (line 627) | static
function bin_res_lit (line 646) | static
function binary_resolution (line 681) | void binary_resolution(Topform c,
function binary_factors (line 716) | void binary_factors(Topform c, void (*proc_proc) (Topform))
function merge_literals (line 759) | void merge_literals(Topform c)
function Topform (line 795) | Topform copy_inference(Topform c)
function Topform (line 827) | Topform resolve2(Topform c1, int n1, Topform c2, int n2, BOOL renumber_v...
function Topform (line 883) | Topform resolve3(Topform c1, Literals l1, Topform c2, Literals l2, BOOL ...
function Topform (line 903) | Topform xx_resolve2(Topform c, int n, BOOL renumber_vars)
FILE: models/symbolic_solvers/Prover9/ladr/save/attrib.c
type attribute (line 7) | struct attribute { /* to form lists of attributes */
function Attribute (line 42) | static
function free_attribute (line 56) | static
function fprint_attrib_mem (line 76) | void fprint_attrib_mem(FILE *fp, BOOL heading)
function p_attrib_mem (line 102) | void p_attrib_mem()
function register_attribute (line 123) | void register_attribute(int id, char *name, Attribute_type type)
function declare_term_attribute_inheritable (line 150) | void declare_term_attribute_inheritable(int id)
function BOOL (line 163) | static
function Attribute (line 183) | Attribute set_int_attribute(Attribute a, int id, int val)
function get_int_attribute (line 216) | int get_int_attribute(Attribute a, int id, int n)
function BOOL (line 242) | BOOL exists_attribute(Attribute a, int id)
function Attribute (line 267) | Attribute set_term_attribute(Attribute a, int id, Term val)
function replace_term_attribute (line 301) | void replace_term_attribute(Attribute a, int id, Term val, int n)
function replace_int_attribute (line 333) | void replace_int_attribute(Attribute a, int id, int val, int n)
function Term (line 365) | Term get_term_attribute(Attribute a, int id, int n)
function Attribute (line 395) | Attribute set_string_attribute(Attribute a, int id, char *val)
function zap_attributes (line 455) | void zap_attributes(Attribute a)
function Attribute (line 477) | Attribute delete_attributes(Attribute a, int id)
function Attribute (line 507) | Attribute cat_att(Attribute a, Attribute b)
function Term (line 532) | Term build_attr_term(Attribute a)
function Term (line 579) | Term attributes_to_term(Attribute a, char *operator)
function Attribute (line 598) | static
function attribute_name_to_id (line 622) | int attribute_name_to_id(char *name)
function Attribute (line 652) | Attribute term_to_attributes(Term t, char *operator)
function Attribute (line 706) | Attribute inheritable_att_instances(Attribute a, Context subst)
function Attribute (line 732) | Attribute copy_attributes(Attribute a)
function renumber_vars_attributes (line 761) | void renumber_vars_attributes(Attribute attrs, int vmap[], int max_vars)
function set_vars_attributes (line 782) | void set_vars_attributes(Attribute attrs, char *vnames[], int max_vars)
FILE: models/symbolic_solvers/Prover9/ladr/save/btm.c
type ac_match_pos (line 5) | struct ac_match_pos
type ac_match_free_vars_pos (line 6) | struct ac_match_free_vars_pos
type btm_state (line 8) | struct btm_state {
type ac_match_pos (line 29) | struct ac_match_pos {
type ac_match_free_vars_pos (line 52) | struct ac_match_free_vars_pos {
function Ac_match_pos (line 102) | static
function free_ac_match_pos (line 116) | static
function Ac_match_free_vars_pos (line 129) | static
function free_ac_match_free_vars_pos (line 143) | static
function Btm_state (line 156) | static
function free_btm_state (line 172) | static
function fprint_btm_mem (line 192) | void fprint_btm_mem(FILE *fp, BOOL heading)
function p_btm_mem (line 230) | void p_btm_mem()
function flatten_mult (line 250) | static
function macbv_rec (line 287) | static
function match_ac_bound_vars (line 325) | static
function set_up_free_vars (line 367) | static
function unbind_free_var (line 427) | static
function free_var_match (line 462) | static
function Term (line 576) | static
function clear_partial_term (line 606) | static
function match_ac (line 646) | static
function match_ac_cancel (line 845) | static
function Btm_state (line 873) | static
function Btm_state (line 917) | static
function match_commute (line 1066) | static
function p_acm (line 1119) | static
function p_btm_state (line 1163) | void p_btm_state(Btm_state bt)
function Btm_state (line 1220) | Btm_state match_bt_first(Term t1, Context c1, Term t2, int partial)
function Btm_state (line 1245) | Btm_state match_bt_next(Btm_state bt1)
function match_bt_cancel (line 1280) | void match_bt_cancel(Btm_state bt)
FILE: models/symbolic_solvers/Prover9/ladr/save/btu.c
type ac_position (line 7) | struct ac_position
type ac_position (line 9) | struct ac_position {
type btu_state (line 27) | struct btu_state {
function Btu_state (line 85) | static
function free_btu_state (line 100) | static
function Ac_position (line 113) | static
function free_ac_position (line 127) | static
function fprint_btu_mem (line 147) | void fprint_btu_mem(FILE *fp, BOOL heading)
function p_btu_mem (line 179) | void p_btu_mem()
function p_binding (line 194) | static
function flatten_deref (line 228) | static
function compare_ncv_context (line 271) | static
function sort_ac (line 329) | static
function elim_con_context (line 366) | static
function ac_mult_context (line 395) | static
function ac_prepare (line 450) | static
function set_up_basis_terms (line 498) | static
function unify_ac (line 544) | static
function unify_ac_cancel (line 881) | static
function p_ac_position (line 940) | static
function Btu_state (line 970) | static
function unify_commute (line 1024) | static
function Btu_state (line 1137) | Btu_state unify_bt_first(Term t1, Context c1,
function Btu_state (line 1160) | Btu_state unify_bt_next(Btu_state bt1)
function unify_bt_cancel (line 1193) | void unify_bt_cancel(Btu_state bt)
function Btu_state (line 1230) | static
function p_bt_tree (line 1419) | void p_bt_tree(Btu_state bt, int n)
FILE: models/symbolic_solvers/Prover9/ladr/save/call_weight.c
function call_weight (line 11) | int call_weight(char *program, Term t)
FILE: models/symbolic_solvers/Prover9/ladr/save/clash.c
function Clash (line 20) | static
function free_clash (line 34) | static
function fprint_clash_mem (line 54) | void fprint_clash_mem(FILE *fp, BOOL heading)
function p_clash_mem (line 80) | void p_clash_mem()
function Clash (line 100) | Clash append_clash(Clash p)
function zap_clash (line 120) | void zap_clash(Clash p)
function Literal (line 142) | Literal atom_to_literal(Term atom)
function Literal (line 163) | Literal apply_lit(Literal lit, Context c)
function lit_position (line 174) | static
function Clause (line 195) | static
function clash_recurse (line 244) | static
function clash (line 295) | void clash(Clash c,
FILE: models/symbolic_solvers/Prover9/ladr/save/clause.c
function Literal (line 27) | static
function free_literal (line 41) | static
function Clause (line 58) | Clause get_clause(void)
function free_clause (line 71) | static
function fprint_clause_mem (line 91) | void fprint_clause_mem(FILE *fp, int heading)
function p_clause_mem (line 123) | void p_clause_mem()
function zap_literal (line 142) | void zap_literal(Literal l)
function zap_literals (line 159) | void zap_literals(Literal l)
function zap_clause (line 183) | void zap_clause(Clause c)
function fprint_clause (line 201) | void fprint_clause(FILE *fp, Clause c)
function p_clause (line 238) | void p_clause(Clause c)
function Literal (line 255) | Literal new_literal(int sign, Term atom)
function append_literal (line 274) | void append_literal(Clause c, Literal lit)
function clause_length (line 301) | int clause_length(Clause c)
function Literal (line 316) | static
function Clause (line 357) | Clause term_to_clause(Term t)
function Term (line 379) | static
function Term (line 412) | Term clause_to_term(Clause c)
function Term (line 435) | static
function Term (line 470) | Term clause_to_term_x(Clause c)
function clause_set_variables (line 501) | void clause_set_variables(Clause c, int max_vars)
function renumber_variables (line 548) | void renumber_variables(Clause c, int max_vars)
function term_renumber_variables (line 591) | void term_renumber_variables(Term t, int max_vars)
function positive_literals (line 621) | int positive_literals(Clause c)
function negative_literals (line 642) | int negative_literals(Clause c)
function BOOL (line 663) | BOOL positive_clause(Clause c)
function BOOL (line 679) | BOOL any_clause(Clause c)
function BOOL (line 695) | BOOL negative_clause(Clause c)
function BOOL (line 712) | BOOL mixed_clause(Clause c)
function number_of_literals (line 728) | int number_of_literals(Clause c)
function BOOL (line 744) | BOOL unit_clause(Clause c)
function BOOL (line 760) | BOOL horn_clause(Clause c)
function BOOL (line 776) | BOOL definite_clause(Clause c)
function greatest_variable_in_clause (line 793) | int greatest_variable_in_clause(Clause c)
function upward_clause_links (line 817) | void upward_clause_links(Clause c)
function Clause (line 837) | Clause copy_clause(Clause c)
function Clause (line 865) | Clause copy_clause_with_flags(Clause c)
function Clause (line 893) | Clause copy_clause_with_flag(Clause c, int flag)
function literal_number (line 921) | int literal_number(Clause c, Literal l)
function atom_number (line 946) | int atom_number(Clause c, Term atom)
function Literal (line 970) | Literal ith_literal(Clause c, int i)
function BOOL (line 991) | BOOL true_term(Term t)
function BOOL (line 1006) | BOOL false_term(Term t)
function BOOL (line 1023) | BOOL tautology(Clause c)
function inherit_attributes (line 1059) | void inherit_attributes(Clause parent1, Context subst1,
function Ilist (line 1079) | Ilist function_symbols_in_clause(Clause c, Ilist g)
function Ilist (line 1102) | Ilist relation_symbols_in_clause(Clause c, Ilist g)
function symbol_occurrences_in_clause (line 1120) | int symbol_occurrences_in_clause(Clause c, int symnum)
function Literal (line 1139) | Literal remove_null_literals(Literal l)
function new_atom_nodes (line 1168) | void new_atom_nodes(Clause c)
function new_atoms (line 1189) | void new_atoms(Clause c)
function Literal (line 1206) | Literal first_negative_literal(Clause c)
function Plist (line 1225) | Plist constants_in_clause(Clause c)
function BOOL (line 1245) | BOOL clause_ident(Clause c1, Clause c2)
FILE: models/symbolic_solvers/Prover9/ladr/save/clist.c
function Clist_pos (line 24) | static
function free_clist_pos (line 38) | static
function Clist (line 51) | static
function free_clist (line 65) | static
function fprint_clist_mem (line 85) | void fprint_clist_mem(FILE *fp, BOOL heading)
function p_clist_mem (line 117) | void p_clist_mem()
function Clist (line 140) | Clist clist_init(char *name)
function name_clist (line 163) | void name_clist(Clist p, char *name)
function clist_free (line 186) | void clist_free(Clist p)
function clist_append (line 208) | void clist_append(Clause c, Clist l)
function clist_prepend (line 240) | void clist_prepend(Clause c, Clist l)
function clist_insert_before (line 272) | void clist_insert_before(Clause c, Clist_pos pos)
function clist_insert_after (line 304) | void clist_insert_after(Clause c, Clist_pos pos)
function clist_remove (line 338) | void clist_remove(Clause c, Clist l)
function clist_remove_all_clauses (line 382) | void clist_remove_all_clauses(Clist l)
function clist_remove_all (line 401) | int clist_remove_all(Clause c)
function clist_member (line 422) | int clist_member(Clause c, Clist l)
function fprint_clist (line 447) | void fprint_clist(FILE *fp, Clist l)
function p_clist (line 472) | void p_clist(Clist l)
function Clist (line 489) | Clist clist_copy(Clist a, BOOL assign_ids)
function clist_assign_ids (line 515) | void clist_assign_ids(Clist a)
function clist_zap (line 535) | void clist_zap(Clist l)
function clist_check (line 563) | void clist_check(Clist l)
function clist_append_all (line 601) | void clist_append_all(Clist l1, Clist l2)
function BOOL (line 620) | BOOL clist_empty(Clist lst)
function clist_length (line 635) | int clist_length(Clist l)
function max_wt_in_clist (line 651) | int max_wt_in_clist(Clist l)
function BOOL (line 672) | BOOL horn_clist(Clist l)
function BOOL (line 692) | BOOL unit_clist(Clist l)
function BOOL (line 712) | BOOL equality_in_clist(Clist l)
function BOOL (line 732) | BOOL neg_nonunit_in_clist(Clist l)
function Plist (line 751) | Plist clauses_in_clist(Plist p, Clist l)
function clist_swap (line 775) | void clist_swap(Clause a, Clause b)
function clist_move_clauses (line 801) | void clist_move_clauses(Clist a, Clist b)
FILE: models/symbolic_solvers/Prover9/ladr/save/commands.c
function process_op (line 13) | static
function flag_handler (line 58) | void flag_handler(FILE *fout, Term t, int unknown_action)
function parm_handler (line 93) | void parm_handler(FILE *fout, Term t, int unknown_action)
function preliminary_precedence (line 146) | void preliminary_precedence(Plist p)
function Term (line 190) | Term read_commands_from_file(FILE *fin, FILE *fout, BOOL echo, int unkno...
function read_commands (line 291) | void read_commands(int argc, char **argv, FILE *fout, BOOL echo, int unk...
FILE: models/symbolic_solvers/Prover9/ladr/save/commands2.c
function process_op (line 11) | static
function flag_handler (line 56) | void flag_handler(FILE *fout, Term t, int unknown_action)
function parm_handler (line 91) | void parm_handler(FILE *fout, Term t, int unknown_action)
function preliminary_precedence (line 144) | void preliminary_precedence(Plist p)
function Term (line 188) | Term read_commands(FILE *fin, FILE *fout, BOOL echo, int unknown_action)
FILE: models/symbolic_solvers/Prover9/ladr/save/detach.c
function BOOL (line 11) | static
function Clause (line 27) | static
function cond_detach (line 73) | void cond_detach(Clause major, Clause minor, void (*proc_proc) (Clause))
function cond_detach_2 (line 97) | void cond_detach_2(Clause c1, Clause c2, void (*proc_proc) (Clause))
FILE: models/symbolic_solvers/Prover9/ladr/save/discrim.c
type flat (line 5) | struct flat
type discrim (line 7) | struct discrim { /* node in a discrimination tree */
type flat (line 17) | struct flat { /* for building a stack of states for backtracking */
type discrim_pos (line 30) | struct discrim_pos { /* to save position in set of answers */
function Discrim (line 73) | static
function free_discrim (line 87) | static
function Flat (line 100) | static
function free_flat (line 114) | static
function Discrim_pos (line 127) | static
function free_discrim_pos (line 141) | static
function fprint_discrim_mem (line 161) | void fprint_discrim_mem(FILE *fp, BOOL heading)
function p_discrim_mem (line 199) | void p_discrim_mem()
function Discrim (line 219) | Discrim discrim_init(void)
function discrim_dealloc (line 235) | void discrim_dealloc(Discrim d)
function print_discrim_tree (line 250) | static
function fprint_discrim_tame_index (line 295) | void fprint_discrim_tame_index(FILE *fp, Discrim d)
function p_discrim_tame_index (line 311) | void p_discrim_tame_index(Discrim d)
function Discrim (line 325) | static
function discrim_tame_insert (line 397) | static
function Discrim (line 430) | static
function discrim_tame_delete (line 481) | static
function discrim_tame_update (line 565) | void discrim_tame_update(Term t, Discrim root, void *object, Indexop op)
function Flat (line 579) | static
function p_flat (line 607) | void p_flat(Flat f)
function flip_flat (line 626) | static
function Plist (line 661) | static
function discrim_tame_cancel (line 927) | void discrim_tame_cancel(Discrim_pos pos)
function num_ac_args (line 950) | static
function num_ac_nv_args (line 966) | static
function print_discrim_wild_tree (line 982) | static
function fprint_discrim_wild_index (line 1034) | void fprint_discrim_wild_index(FILE *fp, Discrim d)
function p_discrim_wild_index (line 1050) | void p_discrim_wild_index(Discrim d)
function Discrim (line 1061) | static
function Discrim (line 1110) | static
function discrim_wild_insert (line 1179) | static
function Discrim (line 1212) | static
function discrim_wild_delete (line 1287) | static
function discrim_wild_update (line 1370) | void discrim_wild_update(Term t, Discrim root, void *object, Indexop op)
function Plist (line 1384) | static
function discrim_wild_cancel (line 1688) | void discrim_wild_cancel(Discrim_pos pos)
function zap_discrim_tree (line 1707) | static
function destroy_discrim_tree (line 1745) | void destroy_discrim_tree(Discrim d)
function BOOL (line 1762) | BOOL discrim_empty(Discrim d)
FILE: models/symbolic_solvers/Prover9/ladr/save/features.c
function init_features (line 27) | void init_features(Ilist fsyms, Ilist rsyms)
function fill_in_arrays (line 42) | static
function Ilist (line 74) | Ilist features(Clause c)
function feature_length (line 134) | int feature_length(void)
function p_features (line 178) | void p_features(Ilist f)
FILE: models/symbolic_solvers/Prover9/ladr/save/formula.c
function Formula (line 21) | static
function free_formula (line 37) | static
function fprint_formula_mem (line 58) | void fprint_formula_mem(FILE *fp, BOOL heading)
function p_formula_mem (line 84) | void p_formula_mem()
function Formula (line 98) | static
function BOOL (line 112) | static
function zap_formula (line 129) | void zap_formula(Formula f)
function Formula (line 149) | static
function Formula (line 206) | Formula formula_flatten(Formula f)
function Formula (line 227) | Formula term_to_formula(Term t)
function Term (line 303) | Term formula_to_term(Formula f)
function fprint_formula (line 379) | void fprint_formula(FILE *fp, Formula f)
function p_formula (line 448) | void p_formula(Formula c)
function BOOL (line 471) | BOOL formula_ident(Formula f, Formula g)
function Formula (line 501) | Formula formula_copy(Formula f)
function BOOL (line 523) | static
function Formula (line 546) | Formula dual(Formula f)
function Formula (line 562) | static
function Formula (line 577) | static
function Formula (line 592) | static
function Formula (line 607) | static
function Formula (line 622) | static
function Formula (line 640) | Formula negate(Formula a)
function Formula (line 664) | Formula nnf2(Formula f, Fpref pref)
function Formula (line 784) | Formula nnf(Formula f)
function BOOL (line 795) | static
function BOOL (line 812) | static
function BOOL (line 833) | static
function BOOL (line 849) | static
function BOOL (line 867) | static
function Formula (line 891) | static
function Formula (line 933) | static
function Formula (line 951) | static
function Formula (line 971) | static
function Formula (line 1018) | static
function Formula (line 1047) | static
function Formula (line 1084) | static
function Formula (line 1108) | static
function Formula (line 1152) | Formula cnf(Formula f)
function formula_test (line 1186) | int formula_test(Term t)
function Formula (line 1229) | Formula dnf(Formula f)
function subst_free_var (line 1240) | static
function Formula (line 1261) | static
function Formula (line 1335) | Formula skolemize(Formula f)
function Term (line 1349) | static
function Formula (line 1398) | Formula unique_quantified_vars(Formula f)
function mark_free_vars_formula (line 1415) | static
function Formula (line 1435) | static
function Formula (line 1470) | Formula remove_universal_quantifiers(Formula f)
function Formula (line 1500) | Formula clausify_prepare(Formula f)
function greatest_qvar (line 1526) | int greatest_qvar(Formula f)
function greatest_symnum_in_formula (line 1559) | int greatest_symnum_in_formula(Formula f)
function Formula (line 1586) | static
function Formula (line 1641) | Formula eliminate_rebinding(Formula f)
function Plist (line 1655) | static
function Plist (line 1685) | static
function Formula (line 1711) | static
function Formula (line 1726) | static
function Formula (line 1748) | Formula universal_closure(Formula f)
FILE: models/symbolic_solvers/Prover9/ladr/save/fpa.c
type fpa_trie (line 7) | struct fpa_trie
type fpa_trie (line 9) | struct fpa_trie {
type fpa_index (line 18) | struct fpa_index {
type fpa_state (line 24) | struct fpa_state {
type path (line 39) | struct path {
type path (line 49) | struct path
function Fpa_trie (line 74) | static
function free_fpa_trie (line 89) | static
function Fpa_state (line 102) | static
function free_fpa_state (line 116) | static
function Fpa_index (line 129) | static
function free_fpa_index (line 144) | static
function fprint_fpa_mem (line 164) | void fprint_fpa_mem(FILE *fp, BOOL heading)
function p_fpa_mem (line 202) | void p_fpa_mem()
function fprint_path (line 221) | void fprint_path(FILE *fp, Ilist p)
function p_path (line 252) | void p_path(Ilist p)
function fprint_fpa_trie (line 264) | static
function fprint_fpa_index (line 314) | void fprint_fpa_index(FILE *fp, Fpa_index idx)
function p_fpa_index (line 333) | void p_fpa_index(Fpa_index idx)
function Fpa_trie (line 347) | static
function Fpa_trie (line 387) | static
function fpa_trie_possible_delete (line 417) | static
function path_insert (line 441) | static
function path_delete (line 461) | static
function Ilist (line 488) | static
function path_restore (line 510) | static
function fpa_paths (line 529) | static
function Fpa_index (line 573) | Fpa_index fpa_init_index(int depth)
function fpa_update (line 598) | void fpa_update(Term t, Fpa_index idx, Indexop op)
function Fpa_state (line 626) | static
function Fpa_state (line 644) | static
function Fpa_state (line 671) | static
function Fpa_state (line 688) | static
function Fpa_state (line 710) | static
function zap_fpa_state (line 760) | static
function Fpa_state (line 779) | static
function BOOL (line 827) | static
function BOOL (line 840) | static
function Fpa_state (line 859) | static
function fprint_fpa_state (line 943) | void fprint_fpa_state(FILE *fp, Fpa_state q, int depth)
function p_fpa_state (line 988) | void p_fpa_state(Fpa_state q)
function p_fpa_query (line 1004) | void p_fpa_query(Term t, Querytype query_type, Fpa_index idx)
function Term (line 1043) | static
function Term (line 1160) | Term fpa_next_answer(Fpa_state q)
function Term (line 1186) | Term fpa_first_answer(Term t, Context c, Querytype query_type,
function fpa_cancel (line 1209) | void fpa_cancel(Fpa_state q)
function zap_fpa_trie (line 1220) | static
function zap_fpa_index (line 1254) | void zap_fpa_index(Fpa_index idx)
function BOOL (line 1271) | BOOL fpa_empty(Fpa_index idx)
FILE: models/symbolic_solvers/Prover9/ladr/save/fpalist.c
function Fpa_chunk (line 41) | static
function free_fpa_chunk (line 55) | static
function fprint_fpalist_mem (line 75) | void fprint_fpalist_mem(FILE *fp, BOOL heading)
function p_fpalist_mem (line 101) | void p_fpalist_mem()
function Fpa_chunk (line 128) | Fpa_chunk flist_insert(Fpa_chunk f, Term x)
function Fpa_chunk (line 200) | static
function Fpa_chunk (line 226) | Fpa_chunk flist_delete(Fpa_chunk f, Term x)
function first_fpos (line 271) | struct fposition first_fpos(Fpa_chunk f)
function next_fpos (line 289) | struct fposition next_fpos(struct fposition p)
function zap_fpa_chunks (line 308) | void zap_fpa_chunks(Fpa_chunk p)
FILE: models/symbolic_solvers/Prover9/ladr/save/glist.c
function Ilist (line 26) | Ilist get_ilist(void)
function free_ilist (line 43) | void free_ilist(Ilist p)
function Plist (line 59) | Plist get_plist(void)
function free_plist (line 76) | void free_plist(Plist p)
function fprint_glist_mem (line 95) | void fprint_glist_mem(FILE *fp, BOOL heading)
function p_glist_mem (line 127) | void p_glist_mem()
function Ilist (line 147) | Ilist ilist_cat(Ilist p1, Ilist p2)
function Ilist (line 174) | Ilist ilist_pop(Ilist p)
function ilist_count (line 193) | int ilist_count(Ilist p)
function Ilist (line 206) | static
function Ilist (line 236) | Ilist reverse_ilist(Ilist p)
function Ilist (line 252) | Ilist copy_ilist(Ilist p)
function zap_ilist (line 282) | void zap_ilist(Ilist p)
function Ilist (line 306) | Ilist ilist_append(Ilist lst, int i)
function Ilist (line 331) | Ilist ilist_prepend(Ilist lst, int i)
function BOOL (line 352) | BOOL ilist_member(Ilist lst, int i)
function Ilist (line 373) | Ilist ilist_subtract(Ilist p1, Ilist p2)
function Ilist (line 396) | Ilist ilist_intersect(Ilist p1, Ilist p2)
function Ilist (line 422) | Ilist ilist_set(Ilist m)
function BOOL (line 445) | BOOL ilist_is_set(Ilist a)
function BOOL (line 465) | BOOL ilist_subset(Ilist a, Ilist b)
function Plist (line 487) | Plist plist_cat(Plist p1, Plist p2)
function Plist (line 514) | Plist plist_pop(Plist p)
function plist_count (line 533) | int plist_count(Plist p)
function Plist (line 546) | static
function Plist (line 576) | Plist reverse_plist(Plist p)
function Plist (line 592) | Plist copy_plist(Plist p)
function zap_plist (line 622) | void zap_plist(Plist p)
function Plist (line 646) | Plist plist_append(Plist lst, void *v)
function Plist (line 671) | Plist plist_prepend(Plist lst, void *v)
function BOOL (line 690) | BOOL plist_member(Plist lst, void *v)
function BOOL (line 710) | BOOL plist_subset(Plist a, Plist b)
function fprint_ilist (line 732) | void fprint_ilist(FILE *fp, Ilist p)
function p_ilist (line 754) | void p_ilist(Ilist p)
function Ilist (line 771) | Ilist ilist_copy(Ilist p)
function Ilist (line 793) | Ilist ilist_remove_last(Ilist p)
function Plist (line 817) | Plist plist_remove_last(Plist p)
function Ilist (line 846) | Ilist alist_insert(Ilist p, int key, int val)
function assoc (line 862) | int assoc(Ilist p, int key)
function Ilist (line 890) | Ilist alist2_insert(Ilist p, int key, int a, int b)
function assoc2a (line 906) | int assoc2a(Ilist p, int key)
function assoc2b (line 928) | int assoc2b(Ilist p, int key)
function Ilist (line 949) | Ilist alist2_remove(Ilist p, int key)
function ilist_occurrences (line 979) | int ilist_occurrences(Ilist p, int i)
FILE: models/symbolic_solvers/Prover9/ladr/save/hash.c
type hashtab (line 5) | struct hashtab {
type hashnode (line 11) | struct hashnode {
function Hashtab (line 32) | static
function free_hashtab (line 46) | static
function Hashnode (line 59) | static
function free_hashnode (line 73) | static
function fprint_hash_mem (line 93) | void fprint_hash_mem(FILE *fp, BOOL heading)
function p_hash_mem (line 125) | void p_hash_mem()
function Hashtab (line 144) | Hashtab hash_init(int size)
function hash_insert (line 169) | void hash_insert(int id, void *v, Hashtab h)
function hash_delete (line 229) | void hash_delete(int id, Hashtab h)
function hash_destroy (line 263) | void hash_destroy(Hashtab h)
FILE: models/symbolic_solvers/Prover9/ladr/save/interp.c
type interp (line 9) | struct interp {
function Interp (line 53) | static
function free_interp (line 67) | static
function fprint_interp_mem (line 87) | void fprint_interp_mem(FILE *fp, BOOL heading)
function p_interp_mem (line 113) | void p_interp_mem()
function int_power (line 127) | static int int_power(int n, int exp)
function Interp (line 158) | Interp compile_interp(Term t)
function transpose_binary (line 269) | void transpose_binary(Term t)
function zap_interp (line 308) | void zap_interp(Interp p)
function fprint_interp_tex (line 338) | void fprint_interp_tex(FILE *fp, Interp p)
function fprint_interp (line 432) | void fprint_interp(FILE *fp, Interp p)
function fprint_interp_2 (line 480) | void fprint_interp_2(FILE *fp, Interp p)
function p_interp (line 534) | void p_interp(Interp p)
function fprint_interp_tabular (line 551) | void fprint_interp_tabular(FILE *fp, Interp p)
function eval_term_ground (line 612) | static
function BOOL (line 661) | static
function BOOL (line 687) | static
function BOOL (line 731) | BOOL eval_clause(Clause c, Interp p)
function all_recurse2 (line 757) | static
function eval_clause_false_instances (line 786) | int eval_clause_false_instances(Clause c, Interp p)
function eval_fterm_ground (line 816) | static
function BOOL (line 866) | static
function BOOL (line 965) | BOOL eval_formula(Formula f, Interp p)
function Interp (line 1006) | Interp copy_interp(Interp p)
function Interp (line 1057) | Interp permute_interp(Interp source, int *p)
function BOOL (line 1120) | BOOL ident_interp_perm(Interp a, Interp b, int *p)
function Interp (line 1201) | Interp canon_interp(Interp a)
function BOOL (line 1246) | static BOOL iso_interp_recurse(int *p, int k, int n,
function BOOL (line 1287) | BOOL isomorphic_interps(Interp a, Interp b, BOOL canon)
function interp_size (line 1329) | int interp_size(Interp a)
function iso_checks (line 1366) | long unsigned iso_checks(void)
function iso_perms (line 1382) | long unsigned iso_perms(void)
FILE: models/symbolic_solvers/Prover9/ladr/save/just.c
function Just (line 24) | static
function free_just (line 38) | static
function Parajust (line 51) | static
function free_parajust (line 65) | static
function fprint_just_mem (line 85) | void fprint_just_mem(FILE *fp, BOOL heading)
function p_just_mem (line 117) | void p_just_mem()
function Just (line 136) | Just input_just(void)
function Just (line 155) | Just clausify_just(void)
function Just (line 174) | Just copy_just(Clause c)
function Just (line 194) | Just back_demod_just(Clause c)
function Just (line 214) | Just back_unit_deletion_just(Clause c)
function Just (line 236) | Just binary_res_just(Clause c1, int n1, Clause c2, int n2)
function Just (line 260) | Just cd_just(Clause major, Clause minor)
function Just (line 280) | Just factor_just(Clause c, int lit1, int lit2)
function Just (line 301) | Just resolve_just(Ilist g, Just_type type)
function Just (line 321) | Just para_just(Just_type rule,
function Just (line 349) | Just para_just_rev_copy(Just_type rule,
function Just (line 370) | Just demod_just(Ilist g)
function Just (line 389) | Just unit_del_just(Clause deleter, int literal_num)
function Just (line 409) | Just flip_just(int n)
function Just (line 429) | Just xx_just(int n)
function Just (line 450) | Just merge_just(int n)
function Just (line 469) | Just append_just(Just j1, Just j2)
function Just (line 490) | Just copy_justification(Just j)
function fix_input_just (line 549) | void fix_input_just(Clause c)
function itoc (line 604) | static
function jmap1 (line 622) | int jmap1(Ilist map, int i)
function fprint_res_just (line 670) | static
function fprint_position (line 691) | static
function fprint_just (line 715) | void fprint_just(FILE *fp, Just just, Ilist map)
function p_just (line 788) | void p_just(Just j)
function zap_parajust (line 800) | static
function zap_just (line 819) | void zap_just(Just just)
function Plist (line 859) | static
function Plist (line 944) | Plist get_clause_ancestors(Clause c)
function proof_length (line 960) | int proof_length(Plist proof)
function map_id (line 978) | static
function map_just (line 996) | void map_just(Just just, Ilist map)
FILE: models/symbolic_solvers/Prover9/ladr/save/lindex.c
function Lindex (line 20) | static
function free_lindex (line 34) | static
function fprint_lindex_mem (line 54) | void fprint_lindex_mem(FILE *fp, BOOL heading)
function p_lindex_mem (line 80) | void p_lindex_mem()
function Lindex (line 110) | Lindex lindex_init(Mindextype pos_mtype, Uniftype pos_utype, int pos_fpa...
function lindex_destroy (line 133) | void lindex_destroy(Lindex ldx)
function lindex_update (line 151) | void lindex_update(Lindex ldx, Clause c, Indexop op)
function lindex_update_maximal (line 175) | void lindex_update_maximal(Lindex ldx, Clause c, Indexop op)
function lindex_update_first (line 202) | void lindex_update_first(Lindex ldx, Clause c, Indexop op)
function BOOL (line 225) | BOOL lindex_empty(Lindex idx)
function BOOL (line 242) | BOOL lindex_backtrack(Lindex idx)
FILE: models/symbolic_solvers/Prover9/ladr/save/mindex.c
type mindex_pos (line 5) | struct mindex_pos {
function Mindex (line 50) | static
function free_mindex (line 66) | static
function Mindex_pos (line 79) | static
function free_mindex_pos (line 94) | static
function fprint_mindex_mem (line 114) | void fprint_mindex_mem(FILE *fp, BOOL heading)
function p_mindex_mem (line 146) | void p_mindex_mem()
function Mindex (line 189) | Mindex mindex_init(Mindextype mtype, Uniftype utype, int fpa_depth)
function BOOL (line 219) | BOOL mindex_empty(Mindex mdx)
function mindex_free (line 248) | void mindex_free(Mindex mdx)
function mindex_destroy (line 280) | void mindex_destroy(Mindex mdx)
function linear_insert (line 308) | static
function linear_delete (line 326) | static
function linear_update (line 358) | static
function mindex_update (line 382) | void mindex_update(Mindex mdx, Term t, Indexop op)
function Term (line 449) | Term mindex_retrieve_first(Term t, Mindex mdx, Querytype qtype,
function Term (line 493) | static
function Term (line 548) | static
function Term (line 627) | Term mindex_retrieve_next(Mindex_pos pos)
function mindex_retrieve_cancel (line 717) | void mindex_retrieve_cancel(Mindex_pos pos)
function fprint_linear_index (line 748) | static
function fprint_mindex (line 771) | void fprint_mindex(FILE *fp, Mindex mdx)
FILE: models/symbolic_solvers/Prover9/ladr/save/options.c
type Opttype (line 10) | typedef enum { FLAGT, PARMT, STRINGPARMT } Opttype;
type optdep (line 11) | struct optdep
type optdep (line 13) | struct optdep { /* these get attached to flags that have dependents */
type flag (line 22) | struct flag { /* Flags are boolean valued options */
type parm (line 28) | struct parm { /* Parms are integer valued options */
type stringparm (line 35) | struct stringparm { /* Stringparms are string valued options */
type flag (line 43) | struct flag
type parm (line 44) | struct parm
type stringparm (line 45) | struct stringparm
function Optdep (line 62) | static
function free_optdep (line 77) | static
function fprint_options_mem (line 98) | void fprint_options_mem(FILE *fp, BOOL heading)
function p_options_mem (line 124) | void p_options_mem()
function next_available_flag_id (line 146) | int next_available_flag_id(void)
function next_available_parm_id (line 168) | int next_available_parm_id(void)
function next_available_stringparm_id (line 190) | int next_available_stringparm_id(void)
function init_flag (line 213) | void init_flag(int flag_id,
function init_parm (line 245) | void init_parm(int parm_id,
function init_stringparm (line 286) | void init_stringparm(int id,
function fprint_options (line 324) | void fprint_options(FILE *fp)
function p_options (line 373) | void p_options(void)
function flag (line 390) | int flag(int flag_id)
function parm (line 407) | int parm(int parm_id)
function BOOL (line 424) | BOOL stringparm(int id, char *s)
function update_flag (line 458) | void update_flag(FILE *fout, int id, BOOL val)
function set_flag (line 513) | void set_flag(int id)
function clear_flag (line 531) | void clear_flag(int id)
function assign_parm (line 550) | void assign_parm(int id, int val)
function assign_stringparm (line 582) | void assign_stringparm(int id, char *val)
function str_to_flag_id (line 619) | int str_to_flag_id(char *name)
function str_to_parm_id (line 640) | int str_to_parm_id(char *name)
function str_to_stringparm_id (line 661) | int str_to_stringparm_id(char *name)
function flag_flag_dependency (line 737) | void flag_flag_dependency(int id, BOOL val, int dep_id, BOOL dep_val)
function flag_parm_dependency (line 761) | void flag_parm_dependency(int id, BOOL val, int dep_id, int dep_val)
function flag_stringparm_dependency (line 785) | void flag_stringparm_dependency(int id, BOOL val, int dep_id, char *dep_...
FILE: models/symbolic_solvers/Prover9/ladr/save/parse.c
type Toktype (line 19) | typedef enum {TOK_UNKNOWN, /* probably a garbage binary char */
type Read_rc (line 29) | typedef enum {READ_BUF_OK,READ_BUF_EOF,
type token (line 34) | struct token
type token (line 36) | struct token {
type pterm (line 46) | struct pterm
type pterm (line 48) | struct pterm {
type tok_pos (line 56) | struct tok_pos
type tok_pos (line 58) | struct tok_pos {
function Token (line 86) | static
function free_token (line 100) | static
function Pterm (line 113) | static
function free_pterm (line 127) | static
function fprint_parse_mem (line 147) | void fprint_parse_mem(FILE *fp, BOOL heading)
function p_parse_mem (line 179) | void p_parse_mem()
function translate_neg_equalities (line 202) | void translate_neg_equalities(BOOL flag)
function Term (line 213) | static
function Term (line 239) | static
function free_pterm_list (line 265) | static
function free_token_list (line 284) | static
function BOOL (line 303) | static
function BOOL (line 315) | static
function BOOL (line 327) | static
function BOOL (line 339) | static
function BOOL (line 357) | static
function BOOL (line 373) | static
function BOOL (line 410) | static
function BOOL (line 427) | static
function read_buf (line 469) | static
function Token (line 533) | static
function comma_terms (line 618) | static
function transfer_comma_term (line 633) | static
function BOOL (line 652) | static
function Term (line 676) | static
function Term (line 723) | static
function next_token (line 856) | static
function Term (line 876) | static
function Term (line 891) | static
function Term (line 912) | static
function Pterm (line 965) | static
function Term (line 1071) | static
function fprint_parse_error (line 1098) | static
function Term (line 1130) | Term sread_term(String_buf sb, FILE *fout)
function Term (line 1173) | Term read_term(FILE *fin, FILE *fout)
function BOOL (line 1217) | static
function arrange_term (line 1231) | static
function fwrite_term (line 1367) | void fwrite_term(FILE *fp, Term t)
function fwrite_term_nl (line 1396) | void fwrite_term_nl(FILE *fp, Term t)
function declare_standard_parse_types (line 1412) | void declare_standard_parse_types(void)
FILE: models/symbolic_solvers/Prover9/ladr/save/pindex.c
type pair_index (line 5) | struct pair_index {
function Pair_index (line 35) | static
function free_pair_index (line 51) | static
function fprint_pindex_mem (line 71) | void fprint_pindex_mem(FILE *fp, BOOL heading)
function p_pindex_mem (line 97) | void p_pindex_mem()
function Pair_index (line 121) | Pair_index init_pair_index(int n)
function zap_pair_index (line 164) | void zap_pair_index(Pair_index p)
function pairs_exhausted (line 194) | int pairs_exhausted(Pair_index p)
function init_pair (line 207) | static
function insert_pair_index (line 249) | void insert_pair_index(Clause c, int wt, Pair_index p)
function delete_pair_index (line 288) | void delete_pair_index(Clause c, int wt, Pair_index p)
function retrieve_pair (line 385) | void retrieve_pair(Pair_index p, Clause *cp1, Clause *cp2)
function p_pair_index (line 498) | void p_pair_index(Pair_index p)
function pair_already_used (line 542) | int pair_already_used(Clause c1, int weight1,
FILE: models/symbolic_solvers/Prover9/ladr/save/read_tptp_file.c
function read_tptp_file (line 11) | void read_tptp_file(FILE *fin, FILE *fout, BOOL echo, int unknown_action)
FILE: models/symbolic_solvers/Prover9/ladr/save/sos.c
type stree (line 18) | struct stree
type stree (line 20) | struct stree {
function Stree (line 44) | static
function free_stree (line 58) | static
function p_stree (line 71) | static
function p_dist (line 90) | static
function Stree (line 106) | static
function Stree (line 133) | static
function Stree (line 172) | static
function Topform (line 191) | static
function Topform (line 213) | static
function Topform (line 237) | static
function greatest_check (line 265) | static
function zap_stree (line 288) | static
function init_sos_center (line 319) | static
function adjust_sos_center (line 341) | static
function p_sos_tree (line 383) | void p_sos_tree(void)
function p_sos_dist (line 398) | void p_sos_dist(void)
function index_sos (line 415) | void index_sos(Topform c, int set)
function insert_into_sos (line 435) | void insert_into_sos(Topform c, Clist sos, int set)
function remove_from_sos (line 453) | void remove_from_sos(Topform c, Clist sos, int set)
function Topform (line 483) | Topform first_sos_clause(Clist lst)
function Topform (line 501) | Topform lightest_sos_clause(int set)
function Topform (line 527) | Topform worst_sos_clause(Clist sos, int method)
function wt_of_nth_clause (line 571) | static
function wt_of_clause_at (line 605) | int wt_of_clause_at(int set, double part)
function clauses_of_weight (line 631) | int clauses_of_weight(int wt, int set)
function zap_sos_index (line 651) | void zap_sos_index(void)
FILE: models/symbolic_solvers/Prover9/ladr/save/strbuf.c
type string_buf (line 7) | struct string_buf {
type chunk (line 15) | struct chunk {
type chunk (line 20) | struct chunk
function Chunk (line 41) | static
function free_chunk (line 55) | static
function String_buf (line 72) | String_buf get_string_buf(void)
function free_string_buf (line 85) | static
function fprint_strbuf_mem (line 105) | void fprint_strbuf_mem(FILE *fp, BOOL heading)
function p_strbuf_mem (line 137) | void p_strbuf_mem()
function String_buf (line 159) | String_buf init_string_buf(char *s)
function fprint_sb (line 177) | void fprint_sb(FILE *fp, String_buf sb)
function p_sb (line 202) | void p_sb(String_buf sb)
function sb_append (line 222) | void sb_append(String_buf sb, char *s)
function sb_append_char (line 257) | void sb_append_char(String_buf sb, char c)
function sb_char (line 277) | char sb_char(String_buf sb, int n)
function sb_cat_copy (line 303) | void sb_cat_copy(String_buf sb1, String_buf sb2)
function sb_cat (line 326) | void sb_cat(String_buf sb1, String_buf sb2)
function zap_string_buf (line 344) | void zap_string_buf(String_buf sb)
function sb_size (line 399) | int sb_size(String_buf sb)
FILE: models/symbolic_solvers/Prover9/ladr/save/term.c
function Term (line 73) | static
function free_term (line 98) | void free_term(Term p)
function fprint_term_mem (line 121) | void fprint_term_mem(FILE *fp, BOOL heading)
function p_term_mem (line 148) | void p_term_mem(void)
function Term (line 170) | Term get_variable_term(int var_num)
function zap_variables (line 202) | void zap_variables(void)
function Term (line 231) | Term get_rigid_term_like(Term t)
function Term (line 252) | Term get_rigid_term(char *sym, int arity)
function Term (line 276) | Term get_rigid_term_dangerously(int symnum, int arity)
function zap_term (line 297) | void zap_term(Term t)
function BOOL (line 321) | BOOL term_ident(Term t1, Term t2)
function Term (line 349) | Term copy_term(Term t)
function BOOL (line 373) | BOOL ground_term(Term t)
function biggest_variable (line 398) | int biggest_variable(Term t)
function symbol_count (line 424) | int symbol_count(Term t)
function BOOL (line 449) | BOOL occurs_in(Term t1, Term t2)
function fprint_term (line 473) | void fprint_term(FILE *fp, Term t)
function sprint_term (line 505) | void sprint_term(String_buf sb, Term t)
function p_term (line 540) | void p_term(Term t)
function BOOL (line 559) | BOOL all_args_vars(Term t)
function Term (line 586) | Term build_binary_term(int sn, Term a1, Term a2)
function Term (line 607) | Term build_unary_term(int sn, Term a)
function Term (line 626) | Term subst_term(Term t, Term target, Term replacement)
function Term (line 653) | Term subst_var_term(Term t, int symnum, int varnum)
function greatest_variable (line 680) | int greatest_variable(Term t)
function greatest_symnum_in_term (line 707) | int greatest_symnum_in_term(Term t)
function upward_term_links (line 735) | void upward_term_links(Term t, void *p)
function occurrences (line 760) | int occurrences(Term t, Term target)
function Term (line 781) | static
function term_set_variables (line 830) | void term_set_variables(Term t, int max_vars)
function Term (line 863) | Term nat_to_term(int n)
function natural_constant (line 885) | int natural_constant(Term t)
function arg_position (line 913) | int arg_position(Term parent, Term child)
function BOOL (line 934) | BOOL is_term(Term t, char *str, int arity)
function BOOL (line 950) | BOOL is_constant(Term t, char *str)
function BOOL (line 988) | BOOL term_to_int(Term t, int *result)
function Ilist (line 1020) | Ilist symbols_in_term(Term t, Ilist g)
function Term (line 1053) | Term new_term_top(Term t1)
function Term (line 1088) | Term entirely_new_term(Term t)
function Term (line 1117) | Term renum_vars_recurse(Term t, int vmap[], int max_vars)
function Term (line 1155) | Term set_vars_recurse(Term t, char *vnames[], int max_vars)
function Plist (line 1191) | Plist multiset_of_vars(Term t, Plist vars)
function Plist (line 1213) | Plist multiset_of_variables(Term t)
function BOOL (line 1228) | BOOL variables_subset(Term t1, Term t2)
function Term (line 1248) | Term term_at_pos(Term t, Ilist pos)
function Ilist (line 1265) | static
function Ilist (line 1297) | Ilist position_of_subterm(Term t, Term subterm)
function symbol_occurrences (line 1318) | int symbol_occurrences(Term t, int symnum)
FILE: models/symbolic_solvers/Prover9/ladr/save/unify.c
type trail (line 10) | struct trail {
function next_available_multiplier (line 35) | static
function Context (line 72) | Context get_context(void)
function free_context (line 90) | void free_context(Context p)
function Trail (line 103) | static
function free_trail (line 117) | static
function fprint_unify_mem (line 137) | void fprint_unify_mem(FILE *fp, BOOL heading)
function p_unify_mem (line 169) | void p_unify_mem()
function BOOL (line 225) | BOOL unify(Term t1, Context c1,
function BOOL (line 317) | BOOL variant(Term t1, Context c1,
function BOOL (line 354) | BOOL occur_check(int vn, Context vc, Term t, Context c)
function BOOL (line 403) | BOOL match(Term t1, Context c1, Term t2, Trail *trp)
function Term (line 461) | Term apply(Term t, Context c)
function Term (line 500) | Term apply_substitute(Term t, Term beta, Context c_from,
function undo_subst (line 529) | void undo_subst(Trail tr)
function undo_subst_2 (line 562) | void undo_subst_2(Trail tr, Trail sub_tr)
function fprint_context (line 585) | void fprint_context(FILE *fp, Context c)
function p_context (line 628) | void p_context(Context c)
function fprint_trail (line 644) | void fprint_trail(FILE *fp, Trail t)
function p_trail (line 667) | void p_trail(Trail t)
function BOOL (line 683) | BOOL match_weight2(Term t1, Context c1, Term t2, Trail *trp, int var_sn)
FILE: models/symbolic_solvers/Prover9/ladr/save/weight1.c
function set_weights_by_arity (line 17) | static
function init_weight1 (line 38) | void init_weight1(Plist p, int constant_weight, int variable_weight)
function term_weight1 (line 75) | int term_weight1(Term t)
function clause_weight1 (line 98) | int clause_weight1(Clause c)
FILE: models/symbolic_solvers/Prover9/ladr/std_options.c
function init_standard_options (line 39) | void init_standard_options(void)
function process_standard_options (line 58) | void process_standard_options(void)
function clocks_id (line 86) | int clocks_id(void)
function prolog_style_variables_id (line 101) | int prolog_style_variables_id(void)
FILE: models/symbolic_solvers/Prover9/ladr/strbuf.c
type string_buf (line 25) | struct string_buf {
type chunk (line 32) | struct chunk {
type chunk (line 37) | struct chunk
function Chunk (line 55) | static
function free_chunk (line 69) | static
function String_buf (line 86) | String_buf get_string_buf(void)
function free_string_buf (line 99) | static
function fprint_strbuf_mem (line 119) | void fprint_strbuf_mem(FILE *fp, BOOL heading)
function p_strbuf_mem (line 151) | void p_strbuf_mem()
function String_buf (line 173) | String_buf init_string_buf(char *s)
function fprint_sb (line 191) | void fprint_sb(FILE *fp, String_buf sb)
function p_sb (line 218) | void p_sb(String_buf sb)
function sb_append (line 238) | void sb_append(String_buf sb, char *s)
function sb_append_char (line 273) | void sb_append_char(String_buf sb, char c)
function sb_replace_char (line 312) | void sb_replace_char(String_buf sb, int i, char c)
function sb_char (line 337) | char sb_char(String_buf sb, int n)
function sb_cat_copy (line 363) | void sb_cat_copy(String_buf sb1, String_buf sb2)
function sb_cat (line 386) | void sb_cat(String_buf sb1, String_buf sb2)
function zap_string_buf (line 404) | void zap_string_buf(String_buf sb)
function sb_size (line 494) | int sb_size(String_buf sb)
function sb_append_int (line 510) | void sb_append_int(String_buf sb, int i)
FILE: models/symbolic_solvers/Prover9/ladr/strbuf.h
type string_buf (line 39) | struct string_buf
FILE: models/symbolic_solvers/Prover9/ladr/string.c
function BOOL (line 36) | BOOL str_ident(char *s, char *t)
function BOOL (line 71) | BOOL string_member(char *string, char **strings, int n)
function which_string_member (line 92) | int which_string_member(char *string, char **strings, int n)
function BOOL (line 112) | BOOL initial_substring(char *x, char *y)
function BOOL (line 131) | BOOL substring(char *x, char *y)
function reverse_chars (line 153) | void reverse_chars(char *s, int start, int end)
function natural_string (line 171) | int natural_string(char *str)
function char_occurrences (line 192) | int char_occurrences(char *s, char c)
function BOOL (line 243) | BOOL str_to_int(char *str, int *ip)
function BOOL (line 286) | BOOL str_to_double(char *s,
function BOOL (line 349) | BOOL string_of_repeated(char c, char *s)
FILE: models/symbolic_solvers/Prover9/ladr/subsume.c
function nonunit_subsumption_tests (line 35) | int nonunit_subsumption_tests(void)
function BOOL (line 52) | static
function BOOL (line 86) | static
function BOOL (line 133) | BOOL subsumes(Topform c, Topform d)
function BOOL (line 158) | BOOL subsumes_bt(Topform c, Topform d)
function Topform (line 185) | Topform forward_subsume(Topform d, Lindex idx)
function Plist (line 238) | Plist back_subsume(Topform c, Lindex idx)
function Topform (line 294) | Topform back_subsume_one(Topform c, Lindex idx)
function atom_conflict (line 342) | static
function unit_conflict_by_index (line 388) | void unit_conflict_by_index(Topform c, Lindex idx, void (*empty_proc) (T...
function Topform (line 413) | Topform try_unit_conflict(Topform a, Topform b)
function unit_delete (line 445) | void unit_delete(Topform c, Lindex idx)
function Plist (line 519) | Plist back_unit_del_by_index(Topform unit, Lindex idx)
function simplify_literals (line 566) | void simplify_literals(Topform c)
function BOOL (line 604) | BOOL eq_removable_literal(Topform c, Literals lit)
function simplify_literals2 (line 646) | void simplify_literals2(Topform c)
FILE: models/symbolic_solvers/Prover9/ladr/symbols.c
type symbol (line 23) | struct symbol {
function set_operation_symbol (line 289) | void set_operation_symbol(char *operation, char *symbol)
function BOOL (line 382) | BOOL symbol_in_use(char *str)
function Symbol (line 426) | static
function new_symnum (line 456) | static
function hash_sym (line 469) | static
function hash_id (line 487) | static
function Symbol (line 499) | static
function Symbol (line 517) | static
function str_to_sn (line 544) | int str_to_sn(char *str, int arity)
function fprint_syms (line 580) | void fprint_syms(FILE *fp)
function p_syms (line 609) | void p_syms(void)
function fprint_sym (line 626) | void fprint_sym(FILE *fp, int symnum)
function sprint_sym (line 643) | void sprint_sym(String_buf sb, int symnum)
function p_sym (line 660) | void p_sym(int symnum)
function BOOL (line 678) | BOOL str_exists(char *str)
function greatest_symnum (line 705) | int greatest_symnum(void)
function BOOL (line 747) | BOOL is_symbol(int symnum, char *str, int arity)
function sn_to_arity (line 767) | int sn_to_arity(int symnum)
function sn_to_occurrences (line 787) | int sn_to_occurrences(int symnum)
function set_unfold_symbol (line 807) | void set_unfold_symbol(int symnum)
function BOOL (line 823) | BOOL is_unfold_symbol(int symnum)
function declare_aux_symbols (line 839) | void declare_aux_symbols(Ilist syms)
function clear_parse_type_for_all_symbols (line 887) | void clear_parse_type_for_all_symbols(void)
function clear_parse_type (line 910) | void clear_parse_type(char *str)
function check_diff_type_same_prec (line 931) | static
function set_parse_type (line 979) | void set_parse_type(char *str, int precedence, Parsetype type)
function BOOL (line 1023) | BOOL binary_parse_type(char *str, int *precedence, Parsetype *type)
function BOOL (line 1048) | BOOL unary_parse_type(char *str, int *precedence, Parsetype *type)
function special_parse_type (line 1073) | int special_parse_type(char *str)
function set_assoc_comm (line 1108) | void set_assoc_comm(char *str, BOOL set)
function set_commutative (line 1135) | void set_commutative(char *str, BOOL set)
function BOOL (line 1161) | BOOL assoc_comm_symbols(void)
function BOOL (line 1178) | BOOL comm_symbols(void)
function BOOL (line 1199) | BOOL is_assoc_comm(int sn)
function BOOL (line 1221) | BOOL is_commutative(int sn)
function BOOL (line 1248) | BOOL is_eq_symbol(int symnum)
function not_symnum (line 1267) | int not_symnum(void)
function or_symnum (line 1285) | int or_symnum(void)
function declare_base_symbols (line 1302) | void declare_base_symbols(void)
function set_variable_style (line 1328) | void set_variable_style(Variable_style style)
function Variable_style (line 1344) | Variable_style variable_style(void)
function BOOL (line 1362) | BOOL variable_name(char *s)
function symbol_for_variable (line 1387) | void symbol_for_variable(char *str, int varnum)
function Ilist (line 1424) | Ilist variable_symbols(Ilist syms)
function Ilist (line 1448) | Ilist remove_variable_symbols(Ilist syms)
function set_symbol_type (line 1471) | void set_symbol_type(int symnum, Symbol_type type)
function Symbol_type (line 1489) | Symbol_type get_symbol_type(int symnum)
function BOOL (line 1507) | BOOL function_symbol(int symnum)
function BOOL (line 1522) | BOOL relation_symbol(int symnum)
function BOOL (line 1537) | BOOL function_or_relation_symbol(int symnum)
function declare_functions_and_relations (line 1553) | void declare_functions_and_relations(Ilist fsyms, Ilist rsyms)
function function_or_relation_sn (line 1576) | int function_or_relation_sn(char *str)
function Ilist (line 1601) | Ilist all_function_symbols(void)
function Ilist (line 1626) | Ilist all_relation_symbols(void)
function set_lrpo_status (line 1655) | void set_lrpo_status(int symnum, Lrpo_status status)
function all_symbols_lrpo_status (line 1673) | void all_symbols_lrpo_status(Lrpo_status status)
function Lrpo_status (line 1698) | Lrpo_status sn_to_lrpo_status(int sn)
function set_kb_weight (line 1720) | void set_kb_weight(int symnum, int weight)
function BOOL (line 1750) | BOOL zero_wt_kb(void)
function sn_to_kb_wt (line 1766) | int sn_to_kb_wt(int symnum)
function print_kbo_weights (line 1785) | void print_kbo_weights(FILE *fp)
function set_skolem (line 1818) | void set_skolem(int symnum)
function skolem_check (line 1835) | void skolem_check(BOOL flag)
function BOOL (line 1846) | static
function next_skolem_symbol (line 1876) | int next_skolem_symbol(int arity)
function Ilist (line 1910) | Ilist skolem_symbols(void)
function BOOL (line 1935) | BOOL is_skolem(int symnum)
function skolem_reset (line 1952) | void skolem_reset(void)
function decommission_skolem_symbols (line 1970) | void decommission_skolem_symbols(void)
function set_skolem_symbols (line 1995) | void set_skolem_symbols(Ilist symnums)
function set_lex_val (line 2025) | void set_lex_val(int symnum, int lex_val)
function sn_to_lex_val (line 2047) | int sn_to_lex_val(int sn)
function Ordertype (line 2066) | Ordertype sym_precedence(int symnum_1, int symnum_2)
function Ilist (line 2099) | Ilist syms_with_lex_val(void)
function BOOL (line 2124) | BOOL exists_preliminary_precedence(Symbol_type type)
function Ordertype (line 2150) | Ordertype preliminary_lex_compare(Symbol a, Symbol b)
function Ordertype (line 2188) | static
function Ordertype (line 2278) | Ordertype lex_compare_arity_0123(Symbol s1, Symbol s2)
function Ordertype (line 2299) | Ordertype lex_compare_arity_0213(Symbol s1, Symbol s2)
function lex_order (line 2337) | void lex_order(Ilist fsyms, Ilist rsyms,
function Ilist (line 2369) | static
function Ilist (line 2396) | Ilist sort_by_lex_val(Ilist p)
function Ilist (line 2411) | static
function Ilist (line 2438) | Ilist current_fsym_precedence()
function Ilist (line 2456) | Ilist current_rsym_precedence()
function Ilist (line 2474) | Ilist not_in_preliminary_precedence(Ilist syms, Symbol_type type)
function print_fsym_precedence (line 2500) | void print_fsym_precedence(FILE *fp)
function print_rsym_precedence (line 2523) | void print_rsym_precedence(FILE *fp)
function min_lex_val (line 2546) | int min_lex_val(void)
function max_lex_val (line 2565) | static
function assign_greatest_precedence (line 2589) | void assign_greatest_precedence(int symnum)
function BOOL (line 2604) | BOOL has_greatest_precedence(int symnum)
function lex_insert_after_initial_constants (line 2619) | void lex_insert_after_initial_constants(Ilist syms)
function Ilist (line 2649) | static
function add_skolems_to_preliminary_precedence (line 2676) | void add_skolems_to_preliminary_precedence(void)
function fresh_symbol (line 2711) | int fresh_symbol(char *prefix, int arity)
function gen_new_symbol (line 2738) | int gen_new_symbol(char *prefix, int arity, Ilist syms)
function mark_for_new_symbols (line 2769) | void mark_for_new_symbols(void)
function I2list (line 2784) | I2list new_symbols_since_mark(void)
function add_new_symbols (line 2806) | void add_new_symbols(I2list syms)
function new_constant_properties (line 2833) | void new_constant_properties(int sn)
function Ilist (line 2854) | static
function Ilist (line 2888) | Ilist arity_check(Ilist fsyms, Ilist rsyms)
function symbol_with_string (line 2905) | int symbol_with_string(Ilist syms, char *str)
function process_skolem_list (line 2925) | void process_skolem_list(Plist skolem_strings, Ilist fsyms)
function process_lex_list (line 2950) | void process_lex_list(Plist lex_strings, Ilist syms, Symbol_type type)
function Ilist (line 2992) | Ilist symnums_of_arity(Ilist p, int i)
FILE: models/symbolic_solvers/Prover9/ladr/symbols.h
type Parsetype (line 47) | typedef enum {NOTHING_SPECIAL,
type Symbol_type (line 62) | typedef enum { UNSPECIFIED_SYMBOL,
type Unif_theory (line 69) | typedef enum { EMPTY_THEORY,
type Lrpo_status (line 76) | typedef enum { LRPO_LR_STATUS,
type Variable_style (line 82) | typedef enum { STANDARD_STYLE, /* x,y,z,... */
type symbol (line 87) | struct symbol
FILE: models/symbolic_solvers/Prover9/ladr/term.c
function Term (line 76) | static
function free_term (line 114) | void free_term(Term p)
function fprint_term_mem (line 135) | void fprint_term_mem(FILE *fp, BOOL heading)
function p_term_mem (line 165) | void p_term_mem(void)
function Term (line 187) | Term get_variable_term(int var_num)
function Term (line 219) | Term get_rigid_term_like(Term t)
function Term (line 240) | Term get_rigid_term(char *sym, int arity)
function Term (line 274) | Term get_rigid_term_dangerously(int symnum, int arity)
function zap_term (line 295) | void zap_term(Term t)
function BOOL (line 319) | BOOL term_ident(Term t1, Term t2)
function Term (line 347) | Term copy_term(Term t)
function BOOL (line 373) | BOOL ground_term(Term t)
function biggest_variable (line 398) | int biggest_variable(Term t)
function term_depth (line 423) | int term_depth(Term t)
function symbol_count (line 450) | int symbol_count(Term t)
function BOOL (line 475) | BOOL occurs_in(Term t1, Term t2)
function fprint_term (line 499) | void fprint_term(FILE *fp, Term t)
function sprint_term (line 535) | void sprint_term(String_buf sb, Term t)
function p_term (line 596) | void p_term(Term t)
function BOOL (line 615) | BOOL all_args_vars(Term t)
function Term (line 642) | Term build_binary_term(int sn, Term a1, Term a2)
function Term (line 665) | Term build_binary_term_safe(char *str, Term a1, Term a2)
function Term (line 683) | Term build_unary_term(int sn, Term a)
function Term (line 704) | Term build_unary_term_safe(char *str, Term a)
function Term (line 721) | Term subst_term(Term t, Term target, Term replacement)
function Term (line 748) | Term subst_var_term(Term t, int symnum, int varnum)
function greatest_variable (line 775) | int greatest_variable(Term t)
function greatest_symnum_in_term (line 802) | int greatest_symnum_in_term(Term t)
function upward_term_links (line 829) | void upward_term_links(Term t, void *p)
function BOOL (line 851) | BOOL check_upward_term_links(Term t, void *p)
function occurrences (line 877) | int occurrences(Term t, Term target)
function Term (line 898) | static
function term_set_variables (line 945) | void term_set_variables(Term t, int max_vars)
function Term (line 978) | Term nat_to_term(int n)
function Term (line 998) | Term int_to_term(int i)
function Term (line 1020) | Term bool_to_term(BOOL val)
function Term (line 1038) | Term double_to_term(double d)
function natural_constant_term (line 1057) | int natural_constant_term(Term t)
function arg_position (line 1078) | int arg_position(Term parent, Term child)
function BOOL (line 1099) | BOOL is_term(Term t, char *str, int arity)
function BOOL (line 1115) | BOOL is_constant(Term t, char *str)
function BOOL (line 1153) | BOOL term_to_int(Term t, int *result)
function BOOL (line 1186) | BOOL term_to_double(Term t, double *result)
function BOOL (line 1207) | BOOL term_to_number(Term t, double *result)
function BOOL (line 1230) | BOOL true_term(Term t)
function BOOL (line 1245) | BOOL false_term(Term t)
function BOOL (line 1263) | BOOL term_to_bool(Term t, BOOL *result)
function I2list (line 1289) | I2list symbols_in_term(Term t, I2list g)
function Ilist (line 1310) | Ilist fsym_set_in_term(Term t)
function Term (line 1335) | Term renum_vars_recurse(Term t, int vmap[], int max_vars)
function Term (line 1373) | Term set_vars_recurse(Term t, char *vnames[], int max_vars)
function I2list (line 1409) | I2list multiset_of_vars(Term t, I2list vars)
function I2list (line 1431) | I2list multiset_vars(Term t)
function Plist (line 1447) | Plist set_of_vars(Term t, Plist vars)
function Plist (line 1474) | Plist set_of_variables(Term t)
function number_of_vars_in_term (line 1490) | int number_of_vars_in_term(Term t)
function Ilist (line 1509) | Ilist set_of_ivars(Term t, Ilist ivars)
function Ilist (line 1536) | Ilist set_of_ivariables(Term t)
function BOOL (line 1551) | BOOL variables_subset(Term t1, Term t2)
function BOOL (line 1571) | BOOL variables_multisubset(Term a, Term b)
function Term (line 1603) | Term term_at_pos(Term t, Ilist pos)
function Ilist (line 1621) | static
function Ilist (line 1653) | Ilist position_of_subterm(Term t, Term subterm)
function symbol_occurrences (line 1674) | int symbol_occurrences(Term t, int symnum)
function BOOL (line 1699) | BOOL args_distinct_vars(Term t)
function hash_term (line 1750) | unsigned hash_term(Term t)
function BOOL (line 1773) | BOOL skolem_term(Term t)
function BOOL (line 1788) | BOOL contains_skolem_term(Term t)
function BOOL (line 1813) | BOOL contains_skolem_function(Term t)
function Term (line 1839) | Term term0(char *sym)
function Term (line 1855) | Term term1(char *sym, Term arg)
function Term (line 1873) | Term term2(char *sym, Term arg1, Term arg2)
function BOOL (line 1891) | BOOL symbol_in_term(int symnum, Term t)
function BOOL (line 1917) | BOOL same_structure(Term a, Term b)
function Plist (line 1942) | Plist copy_plist_of_terms(Plist terms)
function zap_plist_of_terms (line 1966) | void zap_plist_of_terms(Plist lst)
function BOOL (line 1989) | BOOL eq_term(Term a)
function Plist (line 2004) | Plist plist_of_subterms(Term t)
function BOOL (line 2025) | BOOL tlist_member(Term t, Plist lst)
function position_of_term_in_tlist (line 2045) | int position_of_term_in_tlist(Term t, Plist lst)
function BOOL (line 2065) | BOOL tlist_subset(Plist a, Plist b)
function BOOL (line 2083) | BOOL tlist_set(Plist a)
function Plist (line 2104) | Plist free_vars_term(Term t, Plist vars)
FILE: models/symbolic_solvers/Prover9/ladr/term.h
type term (line 81) | struct term
type term (line 83) | struct term {
FILE: models/symbolic_solvers/Prover9/ladr/termflag.c
function claim_term_flag (line 47) | int claim_term_flag()
function release_term_flag (line 73) | void release_term_flag(int bit)
function term_flag_set (line 99) | void term_flag_set(Term t, int flag)
function term_flag_clear (line 119) | void term_flag_clear(Term t, int flag)
function BOOL (line 139) | BOOL term_flag(Term t, int flag)
function term_flags (line 162) | int term_flags()
function Term (line 180) | Term copy_term_with_flags(Term t)
function Term (line 209) | Term copy_term_with_flag(Term t, int flag)
function term_flag_clear_recursively (line 236) | void term_flag_clear_recursively(Term t, int flag)
FILE: models/symbolic_solvers/Prover9/ladr/termorder.c
function assign_order_method (line 36) | void assign_order_method(Order_method method)
function Ordertype (line 55) | Ordertype term_compare_basic(Term t1, Term t2)
function Ordertype (line 107) | Ordertype term_compare_ncv(Term t1, Term t2)
function Ordertype (line 155) | Ordertype term_compare_vcp(Term t1, Term t2)
function Ordertype (line 203) | Ordertype term_compare_vr(Term t1, Term t2)
function Ordertype (line 246) | Ordertype flatterm_compare_vr(Flatterm a, Flatterm b)
function BOOL (line 291) | BOOL lrpo_multiset(Term t1, Term t2, BOOL lex_order_vars)
function BOOL (line 305) | static
function BOOL (line 354) | BOOL lrpo(Term s, Term t, BOOL lex_order_vars)
function init_kbo_weights (line 413) | void init_kbo_weights(Plist weights)
function kbo_weight (line 454) | int kbo_weight(Term t)
function BOOL (line 478) | BOOL kbo(Term alpha, Term beta, BOOL lex_order_vars)
function BOOL (line 536) | BOOL term_greater(Term alpha, Term beta, BOOL lex_order_vars)
function Ordertype (line 556) | Ordertype term_order(Term alpha, Term beta)
function flat_kbo_weight (line 578) | int flat_kbo_weight(Flatterm f)
function BOOL (line 600) | static
function BOOL (line 658) | static
function BOOL (line 676) | static
function BOOL (line 731) | BOOL flat_lrpo(Flatterm s, Flatterm t, BOOL lex_order_vars)
function BOOL (line 796) | BOOL flat_greater(Flatterm alpha, Flatterm beta, BOOL lex_order_vars)
function BOOL (line 828) | BOOL greater_multiset_current_ordering(Term t1, Term t2)
FILE: models/symbolic_solvers/Prover9/ladr/termorder.h
type Order_method (line 31) | typedef enum { LRPO_METHOD,
FILE: models/symbolic_solvers/Prover9/ladr/test.c
function compute_args (line 24) | void compute_args(int *a, int arity, int n, int i)
FILE: models/symbolic_solvers/Prover9/ladr/tlist.c
function zap_tlist (line 35) | void zap_tlist(Plist p)
function Plist (line 56) | Plist tlist_remove(Term t, Plist p)
function Plist (line 87) | Plist tlist_union(Plist a, Plist b)
function Ilist (line 114) | Ilist constants_in_term(Term t, Ilist p)
function Plist (line 142) | Plist tlist_copy(Plist p)
FILE: models/symbolic_solvers/Prover9/ladr/top_input.c
type readlist (line 29) | struct readlist
type readlist (line 31) | struct readlist {
function Readlist (line 60) | static
function free_readlist (line 75) | static
function fprint_top_input_mem (line 96) | void fprint_top_input_mem(FILE *fp, BOOL heading)
function p_top_input_mem (line 122) | void p_top_input_mem()
function init_standard_ladr (line 142) | void init_standard_ladr(void)
function fatal_input_error (line 160) | static
function set_program_name (line 186) | void set_program_name(char *name)
function BOOL (line 197) | static
function process_op2 (line 209) | static
function process_op (line 249) | void process_op(Term t, BOOL echo, FILE *fout)
function process_redeclare (line 298) | void process_redeclare(Term t, BOOL echo, FILE *fout)
function execute_unknown_action (line 332) | static
function flag_handler (line 361) | void flag_handler(FILE *fout, Term t, BOOL echo, int unknown_action)
function parm_handler (line 390) | void parm_handler(FILE *fout, Term t, BOOL echo, int unknown_action)
function process_symbol_list (line 439) | static
function Readlist (line 467) | static
function Readlist (line 484) | static
function accept_list (line 513) | void accept_list(char *name, int type, BOOL aux, Plist *l)
function input_symbols (line 537) | static
function symbol_check_and_declare (line 581) | static
function read_from_file (line 697) | void read_from_file(FILE *fin, FILE *fout, BOOL echo, int unknown_action)
function read_all_input (line 880) | void read_all_input(int argc, char **argv, FILE *fout,
function check_formula_attributes (line 912) | static
function Plist (line 939) | Plist process_input_formulas(Plist formulas, BOOL echo)
function Plist (line 992) | Plist process_demod_formulas(Plist formulas, BOOL echo)
function Plist (line 1032) | Plist process_goal_formulas(Plist formulas, BOOL echo)
function Term (line 1081) | Term read_commands(FILE *fin, FILE *fout, BOOL echo, int unknown_action)
function Plist (line 1175) | Plist embed_formulas_in_topforms(Plist formulas, BOOL assumption)
FILE: models/symbolic_solvers/Prover9/ladr/topform.c
function Topform (line 40) | Topform get_topform(void)
function free_topform (line 53) | static
function fprint_topform_mem (line 73) | void fprint_topform_mem(FILE *fp, int heading)
function p_topform_mem (line 99) | void p_topform_mem()
function zap_topform (line 124) | void zap_topform(Topform tf)
function fprint_clause (line 143) | void fprint_clause(FILE *fp, Topform c)
function p_clause (line 184) | void p_clause(Topform c)
function Topform (line 206) | Topform term_to_clause(Term t)
function Topform (line 233) | Topform term_to_topform(Term t, BOOL is_formula)
function Term (line 269) | Term topform_to_term(Topform tf)
function Term (line 304) | Term topform_to_term_without_attributes(Topform tf)
function clause_set_variables (line 338) | void clause_set_variables(Topform c, int max_vars)
function renumber_variables (line 405) | void renumber_variables(Topform c, int max_vars)
function term_renumber_variables (line 453) | void term_renumber_variables(Term t, int max_vars)
function Plist (line 482) | Plist renum_vars_map(Topform c)
function upward_clause_links (line 526) | void upward_clause_links(Topform c)
function BOOL (line 545) | BOOL check_upward_clause_links(Topform c)
function Topform (line 568) | Topform copy_clause(Topform c)
function Topform (line 589) | Topform copy_clause_with_flags(Topform c)
function Topform (line 610) | Topform copy_clause_with_flag(Topform c, int flag)
function inherit_attributes (line 634) | void inherit_attributes(Topform par1, Context s1,
function gather_symbols_in_topform (line 653) | void gather_symbols_in_topform(Topform c, I2list *rsyms, I2list *fsyms)
function gather_symbols_in_topforms (line 674) | void gather_symbols_in_topforms(Plist lst, I2list *rsyms, I2list *fsyms)
function Ilist (line 691) | Ilist fsym_set_in_topforms(Plist lst)
function Ilist (line 713) | Ilist rsym_set_in_topforms(Plist lst)
function BOOL (line 736) | BOOL min_depth(Literals lit)
function BOOL (line 760) | BOOL initial_clause(Topform c)
function BOOL (line 777) | BOOL negative_clause_possibly_compressed(Topform c)
function Term (line 797) | Term topform_properties(Topform c)
function append_label_attribute (line 848) | void append_label_attribute(Topform tf, char *s)
function Ordertype (line 863) | Ordertype cl_id_compare(Topform c1, Topform c2)
function Ordertype (line 883) | Ordertype cl_wt_id_compare(Topform c1, Topform c2)
FILE: models/symbolic_solvers/Prover9/ladr/topform.h
type topform (line 51) | struct topform
type topform (line 53) | struct topform {
FILE: models/symbolic_solvers/Prover9/ladr/tptp_trans.c
function declare_tptp_input_types (line 152) | void declare_tptp_input_types(void)
function declare_tptp_output_types (line 198) | void declare_tptp_output_types(void)
function Term (line 249) | static
function Term (line 300) | static
function Formula (line 418) | Formula tptp_input_to_ladr_formula(Term t)
function rename_vars_to_upper (line 458) | static
function Term (line 481) | static
function Plist (line 564) | Plist ladr_list_to_tptp_list(Plist in, char *name, char *type)
function Ilist (line 613) | Ilist syms_in_form(Term t, BOOL clausal)
function BOOL (line 670) | static
function BOOL (line 700) | static
function I2list (line 716) | I2list map_for_bad_tptp_syms(Ilist syms, BOOL quote_bad_syms)
function I2list (line 756) | I2list map_for_bad_ladr_syms(Ilist syms, BOOL quote_bad_syms)
function Term (line 797) | Term replace_bad_syms_term(Term t, I2list map)
function Term (line 828) | Term replace_bad_tptp_syms_form(Term t, BOOL clausal, I2list map)
FILE: models/symbolic_solvers/Prover9/ladr/unify.c
type trail (line 28) | struct trail {
function next_available_multiplier (line 53) | static
function Context (line 86) | Context get_context(void)
function free_context (line 104) | void free_context(Context p)
function Trail (line 119) | static
function free_trail (line 133) | static
function fprint_unify_mem (line 153) | void fprint_unify_mem(FILE *fp, BOOL heading)
function p_unify_mem (line 185) | void p_unify_mem()
function BOOL (line 241) | BOOL unify(Term t1, Context c1,
function BOOL (line 333) | BOOL variant(Term t1, Context c1,
function BOOL (line 370) | BOOL occur_check(int vn, Context vc, Term t, Context c)
function BOOL (line 419) | BOOL match(Term t1, Context c1, Term t2, Trail *trp)
function Term (line 477) | Term apply(Term t, Context c)
function Term (line 516) | Term apply_substitute(Term t, Term beta, Context c_from,
function Term (line 546) | Term apply_substitute2(Term t, Term beta, Context c_from,
function Term (line 585) | Term apply_demod(Term t, Context c, int flag)
function undo_subst (line 613) | void undo_subst(Trail tr)
function undo_subst_2 (line 646) | void undo_subst_2(Trail tr, Trail sub_tr)
function fprint_context (line 669) | void fprint_context(FILE *fp, Context c)
function p_context (line 712) | void p_context(Context c)
function fprint_trail (line 728) | void fprint_trail(FILE *fp, Trail t)
function p_trail (line 751) | void p_trail(Trail t)
function BOOL (line 767) | BOOL match_weight(Term t1, Context c1, Term t2, Trail *trp, int var_sn)
function Ilist (line 824) | Ilist vars_in_trail(Trail tr)
function Plist (line 842) | Plist context_to_pairs(Ilist varnums, Context c)
function BOOL (line 873) | BOOL empty_substitution(Context s)
function BOOL (line 893) | BOOL variable_substitution(Context s)
function BOOL (line 919) | BOOL subst_changes_term(Term t, Context c)
FILE: models/symbolic_solvers/Prover9/ladr/unify.h
type context (line 119) | struct context
type context (line 121) | struct context {
type trail (line 128) | struct trail
type Unif_alternative (line 132) | typedef enum { NO_ALT = 0,
FILE: models/symbolic_solvers/Prover9/ladr/weight.c
function BOOL (line 63) | static
function BOOL (line 99) | static
function init_weight (line 125) | void init_weight(Plist rules,
function apply_depth (line 192) | static
function weight_calc (line 216) | static
function weight (line 301) | double weight(Term t, Context subst)
function clause_weight (line 358) | double clause_weight(Literals lits)
FILE: models/symbolic_solvers/Prover9/ladr/weight2.c
function char_array_ident (line 51) | static
function char_array_find (line 68) | static
function complexity_1 (line 87) | static
function test1 (line 140) | static
function call_weight (line 166) | double call_weight(char *func, Term t)
function main (line 179) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/ladr/xproofs.c
function check_parents_and_uplinks_in_proof (line 36) | void check_parents_and_uplinks_in_proof(Plist proof)
function Topform (line 64) | static
function xx_simp2 (line 107) | static
function Topform (line 133) | static
function merge1 (line 170) | static
function Topform (line 201) | Topform proof_id_to_clause(Plist proof, int id)
function greatest_id_in_proof (line 222) | int greatest_id_in_proof(Plist proof)
function Plist (line 251) | Plist expand_proof(Plist proof, I3list *pmap)
function renumber_proof (line 539) | void renumber_proof(Plist proof, int start)
function Plist (line 568) | Plist copy_and_renumber_proof(Plist proof, int start)
function Plist (line 585) | Plist proof_to_xproof(Plist proof)
FILE: models/symbolic_solvers/Prover9/mace4.src/arithmetic.c
function init_arithmetic (line 57) | void init_arithmetic(void)
function modulo (line 110) | int modulo(int a, int b)
function BOOL (line 138) | BOOL domain_term(Term t, int domain_size)
function BOOL (line 153) | BOOL arith_op_sn(int i)
function BOOL (line 171) | BOOL arith_rel_sn(int i)
function BOOL (line 189) | BOOL arith_op_term(Term t)
function BOOL (line 204) | BOOL arith_rel_term(Term t)
function BOOL (line 219) | BOOL arith_term(Term t)
function BOOL (line 238) | BOOL arith_quasi_evaluable(Term t)
function arith_evaluate (line 263) | int arith_evaluate(Term t, BOOL *evaluated)
function arith_eval (line 334) | int arith_eval(Term t, BOOL *evaluated)
function BOOL (line 346) | static
function BOOL (line 367) | static
function BOOL (line 390) | static
function BOOL (line 413) | static
function BOOL (line 432) | static
function BOOL (line 460) | BOOL ok_for_arithmetic(Plist clauses, int domain_size)
function Term (line 481) | static
function Term (line 528) | static
function BOOL (line 581) | static
function BOOL (line 624) | BOOL check_with_arithmetic(Plist ground_clauses)
FILE: models/symbolic_solvers/Prover9/mace4.src/commandline.c
function BOOL (line 28) | BOOL member_args(int argc, char **argv, char *str)
function command_line_flag (line 43) | static
function command_line_parm (line 64) | static
function usage_message (line 78) | void usage_message(FILE *fp, Mace_options opt)
function process_command_line_args (line 158) | void process_command_line_args(int argc, char **argv,
FILE: models/symbolic_solvers/Prover9/mace4.src/estack.c
type estack (line 25) | struct estack {
function Estack (line 41) | static
function free_estack (line 66) | static
function fprint_estack_mem (line 81) | void fprint_estack_mem(FILE *fp, int heading)
function p_estack_mem (line 106) | void p_estack_mem()
function free_estack_memory (line 121) | void free_estack_memory(void)
function estack_bytes (line 144) | int estack_bytes(void)
function Estack (line 155) | Estack update_and_push(void **p, void *new, Estack stack)
function restore_from_stack (line 179) | void restore_from_stack(Estack stack)
function zap_estack (line 199) | void zap_estack(Estack stack)
FILE: models/symbolic_solvers/Prover9/mace4.src/estack.h
type estack (line 52) | struct estack
FILE: models/symbolic_solvers/Prover9/mace4.src/ground.c
type mace_stats (line 24) | struct mace_stats
type cell (line 26) | struct cell
function Mclause (line 48) | static
function free_mclause (line 80) | static
function fprint_mclause_mem (line 96) | void fprint_mclause_mem(FILE *fp, int heading)
function p_mclause_mem (line 117) | void p_mclause_mem()
function zap_mterm (line 130) | void zap_mterm(Term t)
function zap_mclause (line 146) | void zap_mclause(Mclause c)
function lit_position (line 160) | int lit_position(Mclause parent, Term child)
function set_parent_pointers (line 178) | static
function check_parent_pointers (line 202) | void check_parent_pointers(Term t)
function Mclause (line 228) | Mclause containing_mclause(Term t)
function Term (line 241) | Term containing_mliteral(Term t)
function eterm_index_term (line 256) | static
function BOOL (line 283) | static
function Term (line 297) | static
function Term (line 316) | static
function Term (line 334) | static
function Plist (line 434) | Plist term_to_lits(Term t)
function Mclause (line 449) | static
function Term (line 482) | static
function instances_recurse (line 514) | static
function generate_ground_clauses (line 578) | void generate_ground_clauses(Topform c, Mstate state)
FILE: models/symbolic_solvers/Prover9/mace4.src/ground.h
type mclause (line 27) | struct mclause
type mclause (line 29) | struct mclause {
FILE: models/symbolic_solvers/Prover9/mace4.src/mace4.c
function init_attrs (line 31) | void init_attrs(void)
function mace4_sig_handler (line 54) | void mace4_sig_handler(int condition)
function Plist (line 84) | Plist process_distinct_terms(Plist distinct)
function Plist (line 118) | static
function main (line 198) | int main(int argc, char **argv)
FILE: models/symbolic_solvers/Prover9/mace4.src/msearch.c
type mace_stats (line 30) | struct mace_stats
type cell (line 44) | struct cell
type cell (line 45) | struct cell
function init_mace_options (line 132) | void init_mace_options(Mace_options opt)
function mace4_exit (line 227) | void mace4_exit(int exit_code)
function initialize_for_search (line 264) | static
function init_for_domain_size (line 343) | static
function built_in_assignments (line 396) | static
function special_assignments (line 416) | static
function BOOL (line 471) | static
function possible_model (line 494) | static
function mace_megs (line 538) | static
function check_time_memory (line 550) | static
function BOOL (line 589) | static
function p_possible_values (line 610) | static
function search (line 656) | static
function mace4n (line 723) | static
function BOOL (line 824) | static
function next_domain_size (line 849) | static
function Mace_results (line 875) | Mace_results mace4(Plist clauses, Mace_options opt)
FILE: models/symbolic_solvers/Prover9/mace4.src/msearch.h
type mace_options (line 45) | struct mace_options
type mace_options (line 47) | struct mace_options {
type mace_stats (line 92) | struct mace_stats {
type mace_results (line 126) | struct mace_results
type mace_results (line 128) | struct mace_results {
type cell (line 169) | struct cell {
FILE: models/symbolic_solvers/Prover9/mace4.src/mstate.c
function Mstate (line 37) | Mstate get_mstate(void)
function free_mstate (line 51) | void free_mstate(Mstate p)
function Jnode (line 63) | Jnode get_jnode(void)
function free_jnode (line 76) | void free_jnode(Jnode p)
function fprint_mstate_mem (line 95) | void fprint_mstate_mem(FILE *fp, BOOL heading)
function p_mstate_mem (line 127) | void p_mstate_mem()
function job_append (line 142) | void job_append(Mstate s, int type, int id, Term alpha, Term beta, int pos)
function job_prepend (line 171) | void job_prepend(Mstate s, int type, int id, Term alpha, Term beta, int ...
function job_pop (line 200) | void job_pop(Mstate s)
function zap_jobs (line 221) | void zap_jobs(Mstate ms)
FILE: models/symbolic_solvers/Prover9/mace4.src/mstate.h
type jnode (line 24) | struct jnode
type mstate (line 25) | struct mstate
type mstate (line 27) | struct mstate {
type jnode (line 34) | struct jnode {
FILE: models/symbolic_solvers/Prover9/mace4.src/negprop.c
type cell (line 26) | struct cell
type mace_stats (line 35) | struct mace_stats
function nterm_id (line 46) | static
function negprop_elim (line 69) | static
function negprop_assign (line 116) | static
function negprop_near_elim (line 211) | static
function negprop_near_assign (line 244) | static
function propagate_negative (line 332) | void propagate_negative(int type, int id, Term alpha, Term beta, int pos,
FILE: models/symbolic_solvers/Prover9/mace4.src/negpropindex.c
function init_negprop_index (line 75) | void init_negprop_index(void)
function free_recurse (line 112) | static
function free_negprop_index (line 131) | void free_negprop_index(void)
function p_recurse (line 168) | static
function p_negprop_index (line 200) | void p_negprop_index(void)
function insert_recurse (line 235) | static
function insert_negprop_eq (line 269) | void insert_negprop_eq(Term atom, Term alpha, int val, Mstate state)
function insert_negprop_noneq (line 297) | void insert_negprop_noneq(Term atom, Mstate state)
function BOOL (line 330) | BOOL nterm(Term t, int *ppos, int *pid)
function Term (line 362) | static Term negprop_find_near_recurse(void **p, Term query, int pos, int n)
function Term (line 371) | Term negprop_find_near(int sign, int sym, int val, Term query, int pos)
FILE: models/symbolic_solvers/Prover9/mace4.src/ordercells.c
type cell (line 23) | struct cell
type cell (line 24) | struct cell
function sum_indexes (line 37) | static
function Ordertype (line 74) | static
function order_cells (line 117) | void order_cells(BOOL verbose)
FILE: models/symbolic_solvers/Prover9/mace4.src/print.c
type cell (line 26) | struct cell
type mace_stats (line 40) | struct mace_stats
function id2val (line 48) | static int id2val(int id)
function f0_val (line 53) | static
function f1_val (line 60) | static
function f2_val (line 67) | static
function p_model (line 80) | void p_model(BOOL print_head)
function print_model_standard (line 181) | void print_model_standard(FILE *fp, BOOL print_head)
function Term (line 244) | Term interp_term(void)
function p_matom (line 283) | void p_matom(Te
Copy disabled (too large)
Download .json
Condensed preview — 855 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (30,272K chars).
[
{
"path": ".gitignore",
"chars": 3319,
"preview": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\ndebug/\nbackupcodes/\noutp"
},
{
"path": "LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2023 Liangming Pan\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "README.md",
"chars": 7632,
"preview": "# Logic-LM\nData and Codes for [\"LOGIC-LM: Empowering Large Language Models with Symbolic Solvers for Faithful Logical Re"
},
{
"path": "baselines/evaluation.py",
"chars": 4489,
"preview": "import re\nimport json\nfrom tqdm import tqdm\nimport random\nimport os\nimport argparse\n\ndef extract_number(string):\n # R"
},
{
"path": "baselines/gpt3_baseline.py",
"chars": 6216,
"preview": "import json\nimport os\nfrom tqdm import tqdm\nfrom collections import OrderedDict\nfrom typing import Dict, List, Tuple\nfro"
},
{
"path": "baselines/icl_examples/AR-LSAT_CoT.txt",
"chars": 3006,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nDuring a sin"
},
{
"path": "baselines/icl_examples/AR-LSAT_Direct.txt",
"chars": 2387,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nDuring a sin"
},
{
"path": "baselines/icl_examples/FOLIO_CoT.txt",
"chars": 2562,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nThe Blake Mc"
},
{
"path": "baselines/icl_examples/FOLIO_Direct.txt",
"chars": 1654,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nAll people w"
},
{
"path": "baselines/icl_examples/LogicalDeduction_CoT.txt",
"chars": 2968,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nThe followin"
},
{
"path": "baselines/icl_examples/LogicalDeduction_Direct.txt",
"chars": 1708,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nThe followin"
},
{
"path": "baselines/icl_examples/ProntoQA_CoT.txt",
"chars": 1792,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nJompuses are"
},
{
"path": "baselines/icl_examples/ProntoQA_Direct.txt",
"chars": 1296,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nJompuses are"
},
{
"path": "baselines/icl_examples/ProofWriter_CoT.txt",
"chars": 2596,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nThe cow is b"
},
{
"path": "baselines/icl_examples/ProofWriter_Direct.txt",
"chars": 2163,
"preview": "Given a problem statement as contexts, the task is to answer a logical reasoning question. \n------\nContext:\nThe cow is b"
},
{
"path": "baselines/utils.py",
"chars": 5696,
"preview": "import backoff # for exponential backoff\nimport openai\nimport os\nimport asyncio\nfrom typing import Any\n\n@backoff.on_exc"
},
{
"path": "data/AR-LSAT/dev.json",
"chars": 246027,
"preview": "[\n {\n \"id\": \"ar_lsat_200006_1-G_1_1\",\n \"context\": \"Four boys—Fred, Juan, Marc, and Paul—and three girls—Nita, Rac"
},
{
"path": "data/AR-LSAT/test.json",
"chars": 244254,
"preview": "[\n {\n \"id\": \"ar_lsat_200010_3-G_1_1\",\n \"context\": \"Of the eight students—George, Helen, Irving, Kyle, Lenore, Nin"
},
{
"path": "data/AR-LSAT/train.json",
"chars": 1617602,
"preview": "[\n {\n \"id\": \"ar_lsat_199106_2-G_1_1\",\n \"context\": \"Exactly six trade representatives negotiate a treaty: Klosnik,"
},
{
"path": "data/FOLIO/dev.json",
"chars": 131210,
"preview": "[\n {\n \"id\": \"FOLIO_dev_0\",\n \"context\": \"If people perform in school talent shows often, then they attend and are "
},
{
"path": "data/FOLIO/train.json",
"chars": 637791,
"preview": "[\n {\n \"id\": \"FOLIO_train_0\",\n \"context\": \"All people who regularly drink coffee are dependent on caffeine. People"
},
{
"path": "data/LogicalDeduction/dev.json",
"chars": 271423,
"preview": "[\n {\n \"id\": \"logical_deduction_0\",\n \"context\": \"The following paragraphs each describe a set of five ob"
},
{
"path": "data/LogicalDeduction/train.json",
"chars": 1069822,
"preview": "[\n {\n \"id\": \"logical_deduction_0\",\n \"context\": \"The following paragraphs each describe a set of five ob"
},
{
"path": "data/ProntoQA/dev.json",
"chars": 483050,
"preview": "[\n {\n \"id\": \"ProntoQA_1\",\n \"context\": \"Jompuses are not shy. Jompuses are yumpuses. Each yumpus is aggressive. Ea"
},
{
"path": "data/ProofWriter/dev.json",
"chars": 541784,
"preview": "[\n {\n \"id\": \"ProofWriter_AttNoneg-OWA-D5-1041_Q1\",\n \"context\": \"Bob is cold. Bob is quiet. Bob is red. Bob is sma"
},
{
"path": "data/ProofWriter/test.json",
"chars": 542807,
"preview": "[\n {\n \"id\": \"ProofWriter_RelNeg-OWA-D5-136_Q1\",\n \"context\": \"The bear does not chase the lion. The bear visits th"
},
{
"path": "data/ProofWriter/train.json",
"chars": 2731208,
"preview": "[\n {\n \"id\": \"ProofWriter_RelNoneg-OWA-D5-84_Q10\",\n \"context\": \"The cow is blue. The cow is round. The cow likes t"
},
{
"path": "models/backup_answer_generation.py",
"chars": 1283,
"preview": "import json\nimport random\nimport os\n\nclass Backup_Answer_Generator:\n def __init__(self, dataset_name, backup_strategy"
},
{
"path": "models/evaluation.py",
"chars": 4443,
"preview": "import re\nimport json\nimport os\nimport argparse\n\n# these functions are heavily influenced by the HF squad_metrics.py scr"
},
{
"path": "models/logic_inference.py",
"chars": 4410,
"preview": "import json\nimport os\nfrom tqdm import tqdm\nfrom symbolic_solvers.fol_solver.prover9_solver import FOL_Prover9_Program\nf"
},
{
"path": "models/logic_program.py",
"chars": 7889,
"preview": "# generate facts and rules based on the problem description\n\nimport json\nimport os\nfrom tqdm import tqdm\nfrom collection"
},
{
"path": "models/prompts/AR-LSAT-long-no-grounding.txt",
"chars": 9713,
"preview": "Given a problem description and a question. The task is to formulate the problem as a logic program, consisting three pa"
},
{
"path": "models/prompts/AR-LSAT-long.txt",
"chars": 11609,
"preview": "Given a problem description and a question. The task is to formulate the problem as a logic program, consisting three pa"
},
{
"path": "models/prompts/AR-LSAT.txt",
"chars": 6978,
"preview": "Given a problem description and a question. The task is to formulate the problem as a logic program, consisting three pa"
},
{
"path": "models/prompts/FOLIO.txt",
"chars": 5330,
"preview": "Given a problem description and a question. The task is to parse the problem and the question into first-order logic for"
},
{
"path": "models/prompts/LogicalDeduction.txt",
"chars": 2622,
"preview": "Task Description: You are given a problem description. The task is to parse the problem as a constraint satisfaction pro"
},
{
"path": "models/prompts/ProntoQA.txt",
"chars": 2279,
"preview": "Task Description: You are given a problem description and a question. The task is to: \n1) define all the predicates in t"
},
{
"path": "models/prompts/ProofWriter.txt",
"chars": 2259,
"preview": "Task Description: You are given a problem description and a question. The task is to: \n1) define all the predicates in t"
},
{
"path": "models/prompts/self-correct-AR-LSAT.txt",
"chars": 4141,
"preview": "Task: Given the initial program and the error message, debug the following logic program.\n------\n>>> Initial Program:\n# "
},
{
"path": "models/prompts/self-correct-FOLIO.txt",
"chars": 5109,
"preview": "Task: Given the wrong FOL formula and the error message, output the correct FOL formula.\n------\n>>> Initial Program:\nPre"
},
{
"path": "models/self_refinement.py",
"chars": 6627,
"preview": "# input: logic program file\n# output: logic program file after one round of self-refinement\n\nimport json\nimport os\nfrom "
},
{
"path": "models/symbolic_solvers/Prover9/.gdb_history",
"chars": 518,
"preview": "break fatal_error\nrun < b4.in\nprint message\nup\nup\ncall p_clause(c)\nprint *c\nup\nup\nbreak prover6.c:958 if (old->id == 526"
},
{
"path": "models/symbolic_solvers/Prover9/COPYING",
"chars": 17987,
"preview": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
},
{
"path": "models/symbolic_solvers/Prover9/Changelog",
"chars": 62287,
"preview": "-------- LADR 2009-11A ----------\n\nNovember 4, 2009.\n\tOnline Examples. Somewhere along the line, the XML/XSL/HTML\n\trend"
},
{
"path": "models/symbolic_solvers/Prover9/Makefile",
"chars": 1492,
"preview": "help:\n\t@echo See README.make\n\nall:\n\tcd ladr && $(MAKE) lib\n\tcd mace4.src && $(MAKE) all\n\tcd provers.src && $"
},
{
"path": "models/symbolic_solvers/Prover9/README.AMD_64",
"chars": 913,
"preview": "A few quick tests on an AMD-64 (939, 1MB cache).\n\nComparing 64- and 32-bit versions of Prover9 and Mace4.\n\n64-bit versio"
},
{
"path": "models/symbolic_solvers/Prover9/README.first",
"chars": 162,
"preview": "Prover9, Mace4, and Related Programs.\n\nTo compile, see README.make.\n\nSee\n\n http://www.cs.unm.edu/~mccune/prover9/\n\nfor"
},
{
"path": "models/symbolic_solvers/Prover9/README.make",
"chars": 610,
"preview": "Compiling Prover9, Mace4, and related programs.\n(Tested with Gnu make and GCC 3.3.3, 3.3.5, 4.0.0, 4.0.2., 4.1.1)\n\n %"
},
{
"path": "models/symbolic_solvers/Prover9/README.release-reminder",
"chars": 290,
"preview": "When releaseing a new version, update the files\n\n Changelog (last entry should be release note)\n VERSION_DATE.h"
},
{
"path": "models/symbolic_solvers/Prover9/TODO/ADAM_2007_loose_ends",
"chars": 1906,
"preview": "========================================================================\n\nMcCune\n\n1. Isofilter: quiet option, which remo"
},
{
"path": "models/symbolic_solvers/Prover9/TODO/README",
"chars": 2620,
"preview": "1. mprover: count mace4 search in max_seconds?\n\n2. compress all clauses? DONE (I hope)\n\n3. get_given_clause: SOS1, SOS2"
},
{
"path": "models/symbolic_solvers/Prover9/TODO/factor.in",
"chars": 20218,
"preview": "set(prolog_style_variables).\n\nclear(auto_inference).\nassign(literal_selection, none).\nset(paramodulation).\nset(binary_re"
},
{
"path": "models/symbolic_solvers/Prover9/TODO/mace4-segv.in",
"chars": 1727,
"preview": "assign(max_seconds, 60).\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n% Reference\n%\n% "
},
{
"path": "models/symbolic_solvers/Prover9/TODO/temp",
"chars": 385396,
"preview": "============================== Prover9 ===============================\nProver9 (32) version June-2007-, 4 June 2007.\nPro"
},
{
"path": "models/symbolic_solvers/Prover9/VERSION_DATE.h",
"chars": 78,
"preview": "#define PROGRAM_DATE \"November 2009\"\n#define PROGRAM_VERSION \"2009-11A\"\n\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/BA-sheffer",
"chars": 13021,
"preview": "% These are Boolean Algebra identities in terms of the Sheffer stroke.\n% Every such identity (or its mirror image), up t"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/MOL-cand.296",
"chars": 15392,
"preview": "f(f(f(f(f(x,z),y),y),z),f(f(f(x,z),f(y,z)),x)) = z.\nf(f(f(f(f(x,z),y),y),z),f(x,f(f(z,x),f(z,y)))) = z.\nf(f(f(f(f(x,z),y"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/Makefile",
"chars": 305,
"preview": "OUTPUTS = qg.out3 qg.iso3 MOL-cand.238 OL.8 OL.8.out OL.6 BA-sheffer.out \\\n\tlattice-sax.rewritten meet-join-equations.o"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/OL.in",
"chars": 514,
"preview": "op(400, infix, ^).\nop(400, infix, v).\n\nset(print_models_portable).\nassign(max_models, -1). % This means there is no "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/README",
"chars": 132,
"preview": "This directory has examples of running the auxiliary programs\ndescribed in the MACE4 manual.\n\nSee the files run-all and "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/BA-sheffer.out",
"chars": 14378,
"preview": "f(f(x,x),f(x,y)) = x. % 1 2\nf(f(x,x),f(y,x)) = x. % 1 2\nf(f(x,f(x,x)),f(y,y)) = y. % 1 2\nf(f(f(x,x),x),f(y,y)) "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/MOL-cand.238",
"chars": 12456,
"preview": "f(f(f(f(f(x,y),z),z),y),f(f(f(x,y),f(z,y)),x)) = y.\nf(f(f(f(f(x,y),z),z),y),f(x,f(f(y,x),f(y,z)))) = y.\nf(f(f(f(f(x,y),z"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/OL.6",
"chars": 1085,
"preview": "\ninterpretation(6, [\n function(^(_,_), [\n 0,0,0,0,0,0,\n 0,1,2,3,4,5,\n 0,2,2,0,0,0,\n 0,3,0"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/OL.8",
"chars": 3751,
"preview": "\ninterpretation(8, [\n function(^(_,_), [\n 0,0,0,0,0,0,0,0,\n 0,1,2,3,4,5,6,7,\n 0,2,2,0,0,0,0,0,\n "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/OL.8.out",
"chars": 2157,
"preview": "interpretation(8, [\n function(^(_,_), [0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,0,2,2,0,0,0,0,0,0,3,0,3,0,0,0,0,0,4,0,0,4,0,0,"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/OL.8.upper-covers",
"chars": 648,
"preview": "% UPPER-COVERS of Lattice 1\n(\n(0 (2 3 4 5 6 7))\n(1 ())\n(2 (1))\n(3 (1))\n(4 (1))\n(5 (1))\n(6 (1))\n(7 (1))\n)\n% end of upper-"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/lattice-sax.rewritten",
"chars": 229,
"preview": "y = y.\ny = y.\n(x v (v ^ ((x ^ z) v (x ^ u)))) ^ (w v ((x v v6) ^ (x v v7))) = x.\n(x v (v ^ ((x ^ z) v (x ^ u)))) ^ (v7 v"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/meet-join-equations.out",
"chars": 202,
"preview": "x v y = y v x.\n(x v y) v z = x v (y v z).\nx v (x ^ y) = x.\n(((y v x) ^ x) v (((z ^ (x v x)) v (u ^ x)) ^ v)) ^ (w v ((v6"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/mjc01s-equations.out",
"chars": 374,
"preview": "x v y = y v x.\n(x v y) v z = x v (y v z).\nx v (x ^ y) = x.\n(((y v x) ^ x) v (((z ^ (x v x)) v (u ^ x)) ^ v)) ^ (w v ((v6"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/qg.iso3",
"chars": 1230,
"preview": "\ninterpretation(3, [\n function(*(_,_), [\n 0,1,2,\n 1,2,0,\n 2,0,1]),\n function(/(_,_), [\n "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Jan14/qg.out3",
"chars": 1640,
"preview": "interpretation( 3, [\n\n function(*(_,_), [0,1,2,\n\t\t\t 1,2,0,\n\t\t\t 2,0,1]),\n\n function(\\(_,_), [0,1,2,\n\t\t\t "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/BA-sheffer.out",
"chars": 14378,
"preview": "f(f(x,x),f(x,y)) = x. % 1 2\nf(f(x,x),f(y,x)) = x. % 1 2\nf(f(x,f(x,x)),f(y,y)) = y. % 1 2\nf(f(f(x,x),x),f(y,y)) "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/MOL-cand.238",
"chars": 12456,
"preview": "f(f(f(f(f(x,y),z),z),y),f(f(f(x,y),f(z,y)),x)) = y.\nf(f(f(f(f(x,y),z),z),y),f(x,f(f(y,x),f(y,z)))) = y.\nf(f(f(f(f(x,y),z"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/OL.6",
"chars": 1085,
"preview": "\ninterpretation(6, [\n function(^(_,_), [\n 0,0,0,0,0,0,\n 0,1,2,3,4,5,\n 0,2,2,0,0,0,\n 0,3,0"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/OL.8",
"chars": 3751,
"preview": "\ninterpretation(8, [\n function(^(_,_), [\n 0,0,0,0,0,0,0,0,\n 0,1,2,3,4,5,6,7,\n 0,2,2,0,0,0,0,0,\n "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/OL.8.out",
"chars": 2157,
"preview": "interpretation(8, [\n function(^(_,_), [0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,0,2,2,0,0,0,0,0,0,3,0,3,0,0,0,0,0,4,0,0,4,0,0,"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/OL.8.upper-covers",
"chars": 648,
"preview": "% UPPER-COVERS of Lattice 1\n(\n(0 (2 3 4 5 6 7))\n(1 ())\n(2 (1))\n(3 (1))\n(4 (1))\n(5 (1))\n(6 (1))\n(7 (1))\n)\n% end of upper-"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/lattice-sax.rewritten",
"chars": 229,
"preview": "y = y.\ny = y.\n(x v (v ^ ((x ^ z) v (x ^ u)))) ^ (w v ((x v v6) ^ (x v v7))) = x.\n(x v (v ^ ((x ^ z) v (x ^ u)))) ^ (v7 v"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/meet-join-equations.out",
"chars": 202,
"preview": "x v y = y v x.\n(x v y) v z = x v (y v z).\nx v (x ^ y) = x.\n(((y v x) ^ x) v (((z ^ (x v x)) v (u ^ x)) ^ v)) ^ (w v ((v6"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/mjc01s-equations.out",
"chars": 374,
"preview": "x v y = y v x.\n(x v y) v z = x v (y v z).\nx v (x ^ y) = x.\n(((y v x) ^ x) v (((z ^ (x v x)) v (u ^ x)) ^ v)) ^ (w v ((v6"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/qg.iso3",
"chars": 1230,
"preview": "\ninterpretation(3, [\n function(*(_,_), [\n 0,1,2,\n 1,2,0,\n 2,0,1]),\n function(/(_,_), [\n "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/backup.Mar10/qg.out3",
"chars": 1640,
"preview": "interpretation( 3, [\n\n function(*(_,_), [0,1,2,\n\t\t\t 1,2,0,\n\t\t\t 2,0,1]),\n\n function(/(_,_), [0,2,1,\n\t\t\t "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/distributivity",
"chars": 33,
"preview": "x ^ (y v z) = (x ^ y) v (x ^ z).\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/err",
"chars": 271,
"preview": "\n====== Starting search for domain size 3. ======\n\n----- ALL_MODELS EXIT (8 models) -----\n\n====== Starting search for do"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/index.html",
"chars": 2827,
"preview": "<HTML>\n<HEAD>\n<TITLE>Miscellaneous LADR Applications</TITLE>\n</HEAD>\n<BODY>\n<H3>Miscellaneous LADR Applications</H3>\n<HR"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/interp.OL6",
"chars": 1147,
"preview": "interpretation(6, [\n function(c(_), [1,0,3,2,5,4]),\n function(^(_,_), [0,0,0,0,0,0,0,1,2,3,4,5,0,2,2,0,0,0,0,3,0,3"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/lattice-sax",
"chars": 818,
"preview": "% Each these four equations is single axiom for lattice theory\n\n(((x ^ y) v (y ^ (x v y))) ^ z) v (((x ^ (((x1 ^ y) v (y"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/lattice-sax.id-check",
"chars": 708,
"preview": "(((x ^ y) v (y ^ (x v y))) ^ z) v (((x ^ (((x1 ^ y) v (y ^ x2)) v y)) v (((y ^ (((x1 v (y v x2)) ^ (x3 v y)) ^ y)) v (u "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/lattice.rules",
"chars": 243,
"preview": "op(400, infix, ^).\nop(400, infix, v).\nassoc_comm(^). % meet is associative and commutative\nassoc_comm(v). % "
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/meet-join-equations",
"chars": 332,
"preview": "% These are lattice identities\n\nx v y = y v x.\n\n(x v y) v z = x v (y v z).\n\nx v (x ^ y) = x.\n\n(((y v x) ^ x) v (((z ^ (x"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/mjc01s-equations",
"chars": 672,
"preview": "% These are OL identities\n\nx v y = y v x.\n\n(x v y) v z = x v (y v z).\n\nx v (x ^ y) = x.\n\n(((y v x) ^ x) v (((z ^ (x v x)"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/non-MOL-OML",
"chars": 13446,
"preview": "% These are all of the nonmodular OMLs up through size 16.\n\ninterpretation(10, [\n function(c(_), [1,0,5,6,7,2,3,4,9,8"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/qg.in",
"chars": 243,
"preview": "assign(max_models, -1). % This means there is no limit.\n\nop(400, infix, *).\nop(400, infix, \\).\nop(400, infix, /).\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/run-all",
"chars": 1281,
"preview": "#!/bin/csh\n\n# This script should run the examples described in index.html.\n\nset path = (../bin $path)\n\n# Remove isomorph"
},
{
"path": "models/symbolic_solvers/Prover9/apps.examples/sed1",
"chars": 81,
"preview": "s/list(clauses)/clauses(theory)/\ns/list(interpretations)/terms(interpretations)/\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/.gdb_history",
"chars": 644,
"preview": "complete run ../lattice.rul\nrun ../apps.examples/lattice.rules < ../apps.examples/lattice-sax\nbreak memory.c:129\nrun\nwhe"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/H65d.givens",
"chars": 35855,
"preview": "x v y = y v x.\n(x v y) v z = x v (y v z).\nx ^ y = y ^ x.\n(x ^ y) ^ z = x ^ (y ^ z).\nx ^ (x v y) = x.\nx v (x ^ y) = x.\nx "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/Makefile",
"chars": 3127,
"preview": "# LADR/apps.src\n\nCC = gcc\n\n# XFLAGS can be specified on the command line (see XFLAGS below)\n\nCFLAGS = $(XFLAGS) -O -Wall"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/README.directproof",
"chars": 4624,
"preview": "Directproof.\n\nThis applies to Horn sets in which the only relation\nis equality, and the denial is a unit.\n\nIt starts wit"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/README.solaris",
"chars": 109,
"preview": "1. make -C doesn't work (changes directories)\n2. CFLAGS don't work -O6 and -Wall\n3. // comments don't work\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/TAGS",
"chars": 81007,
"preview": "\f\nclausefilter.c,368\n#define PROGRAM_NAME 22,815\nstatic char Help_string[25,884\nstatic Ordertype interp_compare(33,12"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/awk1",
"chars": 49,
"preview": "{ if ($1 != size) print \"\"; size = $1; print $0}\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/clausefilter.c",
"chars": 5355,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/clausetester.c",
"chars": 3140,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/complex.c",
"chars": 2615,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/demods",
"chars": 29080,
"preview": "% from x4.out\na(K(x),y) = x # label(constant_functions).\na(P1,p(x,y)) = x # label(projection_1).\na(P2,p(x,y)) = y # labe"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/demods2",
"chars": 14121,
"preview": "% from x4.out\na(K(x),y) = x # label(constant_functions).\na(P1,p(x,y)) = x # label(projection_1).\na(P2,p(x,y)) = y # labe"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/directproof.c",
"chars": 19932,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/dprofiles.c",
"chars": 2235,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/g2.model",
"chars": 502,
"preview": "interpretation( 6, [number = 1,seconds = 0], [\n function(*(_,_), [\n 0,1,2,3,4,5,\n 1,0,3,2,5,4,\n "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/gen_trc_defs.c",
"chars": 7554,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/h1.in",
"chars": 1110,
"preview": "% Language Options\n\nop(500, infix, \"+\"). %addition\nop(490, infix, \";\"). %multiplication\nop(490, infix, \"*\"). %c"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/h1.out",
"chars": 5290,
"preview": "============================== Mace4 =================================\nMace4 (32) version 2009-02A, February 2009.\nProce"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/idfilter.c",
"chars": 4429,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/interp3.dtd",
"chars": 1214,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<!ELEMENT interps (source?,heading?,input?,interp*)>\n\n <!ATTLIST interps "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/interp3.xsl",
"chars": 3803,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transfo"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/interpfilter.c",
"chars": 4200,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/interpformat.c",
"chars": 8120,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/isofilter.c",
"chars": 5067,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/isofilter0.c",
"chars": 4476,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/isofilter2.c",
"chars": 5045,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/latfilter.c",
"chars": 5594,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/lt.dist",
"chars": 33,
"preview": "x ^ (y v z) = (x ^ y) v (x ^ z).\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/lt.m3",
"chars": 289,
"preview": "interpretation( 5, [number = 1,seconds = 0], [\n function(^(_,_), [\n 0,0,0,0,0,\n 0,1,2,3,4,\n 0,2,"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/miniscope.c",
"chars": 1671,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/mirror-flip.c",
"chars": 3751,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/notes",
"chars": 3964,
"preview": "Directproof.\n\nThis applies to Horn sets in which the only relation\nis equality, and the denial is a unit.\n\nIt starts wit"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/README",
"chars": 883,
"preview": "% prover9 -f t1.in > t1.out\n\n% mace4 -f t1.in > t1.mout\n\n% prooftrans xml -f t1.out > t1.xml\n\n% modelformat xml < t1.mou"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/cdprover.c",
"chars": 5998,
"preview": "#include \"../ladr/top_input.h\"\n#include \"../ladr/subsume.h\"\n#include \"../ladr/clause2.h\"\n\n#define PROGRAM_NAME \"cdpro"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/deny.c",
"chars": 1815,
"preview": "#include \"../ladr/top_input.h\"\n#include \"../ladr/clausify.h\"\n\n#define PROGRAM_NAME \"deny\"\n#include \"../VERSION_DATE.h"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/latgen.c",
"chars": 4832,
"preview": "#include \"../ladr/header.h\"\n\n#include \"../ladr/ioutil.h\"\n#include \"../ladr/commands.h\"\n#include \"../ladr/mindex.h\"\n#incl"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/modelformat.c",
"chars": 3649,
"preview": "/* Format an interpretation in various ways\n */\n\n#include \"../ladr/top_input.h\"\n#include \"../ladr/interp.h\"\n\n#define PRO"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/old/undeny.c",
"chars": 2699,
"preview": "#include \"../ladr/top_input.h\"\n#include \"../ladr/clausify.h\"\n\n#define PROGRAM_NAME \"undeny\"\n#include \"../VERSION_DATE"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/olfilter.c",
"chars": 13320,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/perm3.c",
"chars": 3839,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/problems",
"chars": 653,
"preview": "BA1.result:The result of the check is (NIL).\nBA2.result:The result of the check is (NIL).\nH27d.result:The result of the "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/proof3.dtd",
"chars": 2019,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<!-- ===========================================\n\n \"proofs\" has an "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/proof3.xsl",
"chars": 3572,
"preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transfo"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/prooftrans.c",
"chars": 13226,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/py1",
"chars": 878,
"preview": "#!/usr/bin/python\n\nimport sys\nimport re\n\nsize = 0\ng1 = []\ng2 = []\ng3 = []\ng4 = []\ng5 = []\n\nfor line in sys.stdin:\n\n i"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/renamer.c",
"chars": 2461,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/rewriter.c",
"chars": 3839,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/rewriter2.c",
"chars": 3160,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/sed.db-to-queries",
"chars": 13,
"preview": "/%#/d\ns/$/./\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/sed1",
"chars": 30,
"preview": "/is_term.*clauses/s/||/\\&\\&/\n\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/sed2",
"chars": 58,
"preview": "s/.*define PROGRAM_DATE.*/#include \"..\\/PROGRAM_DATE.h\"/\n\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/sig.py",
"chars": 246,
"preview": "#!/usr/bin/python\n\nimport sys\n\ncounts = {}\n\nfor line in sys.stdin:\n line = line.strip()\n if line in counts.keys():"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/sigtest.c",
"chars": 2509,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/t1.in",
"chars": 48,
"preview": "\nformulas(assumptions).\nP(/(a,b)).\nend_of_list.\n"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3.1.direct",
"chars": 14645,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3.1.out",
"chars": 88734,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3.6.direct",
"chars": 1628,
"preview": "============================== directproof ===========================\nProver9 (64) version Aug-2007, Aug 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3.6.out",
"chars": 16761,
"preview": "============================== Prover9 ===============================\nProver9 (64) version Aug-2007, Aug 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3b.direct",
"chars": 989,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/3b.prf",
"chars": 998,
"preview": "============================== prooftrans ============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/AD-gt.direct",
"chars": 12937,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/AD-gt.out",
"chars": 28501,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/bw.direct",
"chars": 2378,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/bw.out",
"chars": 21102,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/dist-short-long.direct",
"chars": 14026,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/dist-short-long.out",
"chars": 15616,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/omlsax2.direct",
"chars": 94743,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/omlsax2.out",
"chars": 158868,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/rba.direct",
"chars": 4855,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/rba.out",
"chars": 11248,
"preview": "============================== Prover9 ===============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/results-on-std-examples",
"chars": 3813,
"preview": "cs-commutator/AD-gt.direct:% Directproof did 7 transformation(s) on 1 proof(s).\ncs-commutator/AE-gt.direct:% Directproof"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/temp",
"chars": 14026,
"preview": "============================== directproof ===========================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test-directproof/temp0",
"chars": 14032,
"preview": "============================== prooftrans ============================\nProver9 (32) version Dec-2007, Dec 2007.\nProcess "
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test_clause_eval.c",
"chars": 2212,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/test_complex.c",
"chars": 1848,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/unfast.c",
"chars": 1814,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/apps.src/upper-covers.c",
"chars": 3691,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/bin/attack",
"chars": 4795,
"preview": "#!/usr/bin/python\n\n# This script takes a Mace4 input file (the head) and a stream of\n# candidates. It builds a list of "
},
{
"path": "models/symbolic_solvers/Prover9/bin/get_givens",
"chars": 72,
"preview": "#!/bin/sh\n\ngrep '^given #' | sed -e 's/.*): [0-9]* //' -e 's/\\. .*/./'\n"
},
{
"path": "models/symbolic_solvers/Prover9/bin/get_interps",
"chars": 190,
"preview": "#!/bin/sh\n\n# Extract interpretations (models) from a Mace4 output file.\n# The C program 'interpformat portable' is simil"
},
{
"path": "models/symbolic_solvers/Prover9/bin/get_kept",
"chars": 73,
"preview": "#!/bin/sh\n\ngrep '^kept:' | sed -e 's/kept: * [0-9]* //' -e 's/\\. .*/./'\n"
},
{
"path": "models/symbolic_solvers/Prover9/bin/gvizify",
"chars": 11940,
"preview": "#!/usr/bin/python\n\"\"\"\ngvizify: convert prover9 XML proof files into graphviz \".dot\" format\n(producing a graphical displa"
},
{
"path": "models/symbolic_solvers/Prover9/bin/looper",
"chars": 5084,
"preview": "#!/usr/bin/python\n\n# This script takes a (Prover9|Mace4) input file (the head), and\n# a stream of candidates. For each "
},
{
"path": "models/symbolic_solvers/Prover9/bin/proof3fo.xsl",
"chars": 7297,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" "
},
{
"path": "models/symbolic_solvers/Prover9/bin/prover9-mace4",
"chars": 4118,
"preview": "#!/usr/bin/python\n\n# This script takes a Prover9 input file and runs Prover9 and Mace4\n# in parallel. If the one that f"
},
{
"path": "models/symbolic_solvers/Prover9/bob/ChangelogBV",
"chars": 556,
"preview": "************************\nChanges to LADR-Aug-2007\n************************\n\n2007-aug-20\n\n apps.src/prooftrans.c\n\n "
},
{
"path": "models/symbolic_solvers/Prover9/bob/ioutil.c",
"chars": 20084,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/bob/ioutil.h",
"chars": 3053,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/bob/just.c",
"chars": 48490,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/bob/prooftrans.c",
"chars": 12523,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/Changelog.old",
"chars": 685,
"preview": "LADR Changelog.\n\nMost recent changes are at the top.\n\nJune 3, 2004. Update FPA/Path indexing with chunked fpa lists.\n\nM"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/Makefile",
"chars": 15885,
"preview": "# LADR/ladr\n\nCC = gcc\n\n# XFLAGS can be specified on the command line (see XFLAGS below)\n\nCFLAGS = $(XFLAGS) -O -Wall\n# C"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/Makefile~",
"chars": 15885,
"preview": "# LADR/ladr\n\nCC = gcc\n\n# XFLAGS can be specified on the command line (see XFLAGS below)\n\nCFLAGS = $(XFLAGS) -O -Wall\n# C"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/README.ac-redundancy",
"chars": 1318,
"preview": "Nov 11, 2004.\n\nFlag ac_redundancy (default set).\n\nThis is related to AC unification, but it does not use the\nAC unificat"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/README.char-types",
"chars": 1429,
"preview": "BOOL end_char(char c)\n{\n return (c == '.');\n} /* end_char */\n\nBOOL comment_char(char c)\n{\n return (c == COMMENT_C"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/README.kbo",
"chars": 548,
"preview": "Each function (including constant) symbol has a positive weight.\n\n exception: there can be a unary function with weight"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/README.termorder",
"chars": 1253,
"preview": "\nORIENTING EQUALITIES\n\norient_equalities() (parautil.c) possibly flips equalities and maybe sets\na flag in each equality"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/TAGS",
"chars": 74412,
"preview": "\f\nac_redun.c,440\nstatic Ilist C_symbols 21,778\nstatic Ilist A1_symbols 22,833\nstatic Ilist A2_symbols 23,905\nstatic "
},
{
"path": "models/symbolic_solvers/Prover9/ladr/ac_redun.c",
"chars": 11854,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/ac_redun.h",
"chars": 1299,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/accanon.c",
"chars": 6080,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/accanon.h",
"chars": 1392,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/attrib.c",
"chars": 23276,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/attrib.h",
"chars": 3513,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
},
{
"path": "models/symbolic_solvers/Prover9/ladr/avltree.c",
"chars": 14472,
"preview": "/* Copyright (C) 2006, 2007 William McCune\n\n This file is part of the LADR Deduction Library.\n\n The LADR Deductio"
}
]
// ... and 655 more files (download for full content)
About this extraction
This page contains the full source code of the teacherpeterpan/Logic-LLM GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 855 files (27.7 MB), approximately 7.3M tokens, and a symbol index with 3397 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.