test/$(SRCS): test/$(OBJS) $(REGISTRY) ./matex.native
@echo MaTeX: processing $<
- $(H)./matex.native -O test -l $(SRCS) -p -g -a $(REGISTRY) `cat $<`
+ $(H)./matex.native -O test -l $(SRCS) -a -g -p $(REGISTRY) `cat $<`
.PHONY: test
let proc_named_term s st t =
try
let tt = proc_term st t in
- if !G.test then begin
+ if !G.check then begin
let _ = K.typeof st.c tt in
ok s
end;
try
fresh := 0;
let tt = shift_term c t in
- if !G.test then begin
+ if !G.check then begin
let _ = K.typeof c tt in
ok s
end;
let malformed s =
X.error ("engine: malformed term: " ^ s)
-let missing s =
- X.log ("engine: missing macro for " ^ s)
+let missing s l =
+ X.log (P.sprintf "engine: missing macro for %s (%u)" s l)
(* generic term processing *)
let get_head = function
| C.Const c :: ts ->
let s, _ = K.resolve_reference c in
- let macro, x = get_macro s (L.length ts) in
- if macro <> "" then
- let ts1, ts2 = X.split_at x ts in
- Some (macro, s, ts1, ts2)
- else begin
- if !G.log_missing then missing s;
- None
+ let l = L.length ts in
+ let macro, x = get_macro s l in
+ begin match macro with
+ | "" ->
+ if !G.log_missing then missing s l;
+ None
+ | "APPL" -> None
+ | _ ->
+ let ts1, ts2 = X.split_at x ts in
+ Some (macro, s, ts1, ts2)
end
| _ -> None
note :: T.Macro "begin" :: T.arg item :: T.arg (mk_gname s) :: T.free ss :: proc_term st is tt
let proc_top_proof s ss t =
+ if !G.no_proofs then [] else
let st = init ss in
let t0 = A.process_top_term s t in (* anticipation *)
let tt = N.process_top_term s t0 in (* alpha-conversion *)
let help_O = "<dir> Set this output directory"
let help_X = " Clear configuration and options"
let help_a = " Log alpha-unconverted identifiers (default: no)"
+let help_c = " Check term transformations (default: no)"
let help_g = " Global alpha-conversion (default: no)"
let help_l = "<file> Output the list of generated files in this file"
let help_m = " Log missing notational macros (default: no)"
-let help_p = " Omit types (default: no)"
-let help_t = " Test term transformations (default: no)"
+let help_p = " Omit proofs (default: no)"
+let help_t = " Omit types (default: no)"
let help = ""
"-O", A.String ((:=) G.out_dir), help_O;
"-X", A.Unit G.clear, help_X;
"-a", A.Set G.log_alpha, help_a;
+ "-c", A.Set G.check, help_c;
"-g", A.Set G.global_alpha, help_g;
"-l", A.String set_list, help_l;
"-m", A.Set G.log_missing, help_m;
- "-p", A.Set G.no_types, help_p;
- "-t", A.Set G.test, help_t;
+ "-p", A.Set G.no_proofs, help_p;
+ "-t", A.Set G.no_types, help_t;
] process help
with
| X.Error s -> X.log s
let default_proc_id = "H"
-let default_test = false
+let default_check = false
let default_no_types = false
+let default_no_proofs = false
+
let default_global_alpha = false
let default_log_alpha = false
let proc_id = ref default_proc_id (* identifer for anticipations *)
-let test = ref default_test (* test anticipation *)
+let check = ref default_check (* check transformations *)
let no_types = ref default_no_types (* omit types *)
+let no_proofs = ref default_no_proofs (* omit proofs *)
+
let global_alpha = ref default_global_alpha (* log alpha-unconverted identifiers *)
let log_alpha = ref default_log_alpha (* log alpha-unconverted identifiers *)
no_init := default_no_init;
out_dir := default_out_dir;
proc_id := default_proc_id;
- test := default_test;
+ check := default_check;
no_types := default_no_types;
+ no_proofs := default_no_proofs;
global_alpha := default_global_alpha;
log_alpha := default_log_alpha;
log_missing := default_log_missing;
val proc_id: string ref
-val test: bool ref
+val check: bool ref
val no_types: bool ref
+val no_proofs: bool ref
+
val global_alpha: bool ref
val log_alpha: bool ref
<key name="gref">ty3_nf2_gen__ty3_nf2_inv_abst_aux ty3_nf2_inv_abst_aux</key>
</section>
<section name="matex.notation">
+ <key name="const">$(devel.basic1).A.defs.A.AHead.type To 2 0</key>
+ <key name="const">$(devel.basic1).A.defs.A.ASort.type AtomB 2 0</key>
<!--
-$(devel.basic1).A.defs.A.AHead.type 0</key>
-$(devel.basic1).A.defs.A.ASort.type 0</key>
$(devel.basic1).A.fwd.A_rect.A_rect.type 0</key>
$(devel.basic1).aplus.defs.aplus.aplus.type 0</key>
-$(devel.basic1).app.defs.app1.app1.type 0</key>
-$(devel.basic1).app.defs.cbk.cbk.type 0</key>
+-->
+ <key name="const">$(devel.basic1).app.defs.app1.app1.type Shift 2 0</key>
+ <key name="const">$(devel.basic1).app.defs.cbk.cbk.type Level 1 0</key>
+<!--
$(devel.basic1).aprem.defs.aprem.aprem.type 0</key>
$(devel.basic1).arity.defs.arity.arity.type 0</key>
$(devel.basic1).asucc.defs.asucc.asucc.type 0</key>
$(devel.basic1).C.defs.C.CHead.type 0</key>
-$(devel.basic1).C.defs.C.CSort.type 0</key>
-$(devel.basic1).C.defs.cle.type 0</key>
-$(devel.basic1).C.defs.clt.type 0</key>
+-->
+ <key name="const">$(devel.basic1).C.defs.C.CSort.type AtomA 1 0</key>
+ <key name="const">$(devel.basic1).C.defs.cle.type LE 2 0</key>
+ <key name="const">$(devel.basic1).C.defs.clt.type LT 2 0</key>
+<!--
$(devel.basic1).C.defs.CTail.CTail.type 0</key>
-$(devel.basic1).C.defs.cweight.cweight.type 0</key>
+-->
+ <key name="const">$(devel.basic1).C.defs.cweight.cweight.type WeightA 1 0</key>
+<!--
$(devel.basic1).C.fwd.C_rect.C_rect.type 0</key>
$(devel.basic1).cimp.defs.cimp.type 0</key>
-$(devel.basic1).clear.defs.clear.clear.type 0</key>
-$(devel.basic1).clen.defs.clen.clen.type 0</key>
-$(devel.basic1).cnt.defs.cnt.cnt.type 0</key>
+-->
+ <key name="const">$(devel.basic1).clear.defs.clear.clear.type Drop 2 0</key>
+ <key name="const">$(devel.basic1).clen.defs.clen.clen.type Length 1 0</key>
+ <key name="const">$(devel.basic1).cnt.defs.cnt.cnt.type LEnv 1 0</key>
+<!--
$(devel.basic1).csuba.defs.csuba.csuba.type 0</key>
$(devel.basic1).csubc.defs.csubc.csubc.type 0</key>
-$(devel.basic1).csubst0.defs.csubst0.csubst0.type 0</key>
-$(devel.basic1).csubst1.defs.csubst1.csubst1.type 0</key>
+-->
+ <key name="const">$(devel.basic1).csubst0.defs.csubst0.csubst0.type Subst 4 0</key>
+ <key name="const">$(devel.basic1).csubst1.defs.csubst1.csubst1.type SubstS 4 0</key>
+<!--
$(devel.basic1).csubt.defs.csubt.csubt.type 0</key>
$(devel.basic1).csubv.defs.csubv.csubv.type 0</key>
-->
- <key name="const">$(devel.basic1).drop1.defs.drop1.drop1.type DropS 2 0</key>
+ <key name="const">$(devel.basic1).drop1.defs.drop1.drop1.type DropS 3 0</key>
<!--
$(devel.basic1).drop1.defs.ptrans.ptrans.type 0</key>
-->
- <key name="const">$(devel.basic1).drop.defs.drop.drop.type Drop 3 0</key>
+ <key name="const">$(devel.basic1).drop.defs.drop.drop.type DropB 4 0</key>
+ <key name="const">$(devel.basic1).ex0.defs.leqz.leqz.type Equiv 2 0</key>
+ <key name="const">$(devel.basic1).flt.defs.flt.type LTB 4 0</key>
+ <key name="const">$(devel.basic1).flt.defs.fweight.type WeightB 2 0</key>
+ <key name="const">$(devel.basic1).fsubst0.defs.fsubst0.fsubst0.type SubstB 6 0</key>
<!--
-$(devel.basic1).ex0.defs.leqz.leqz.type 0</key>
-$(devel.basic1).flt.defs.flt.type 0</key>
-$(devel.basic1).flt.defs.fweight.type 0</key>
-$(devel.basic1).fsubst0.defs.fsubst0.fsubst0.type 0</key>
$(devel.basic1).G.defs.G.mk_G.type 0</key>
-$(devel.basic1).G.defs.next.next.type 0</key>
-$(devel.basic1).getl.defs.getl.getl.type 0</key>
-$(devel.basic1).iso.defs.iso.iso.type 0</key>
-$(devel.basic1).leq.defs.leq.leq.type 0</key>
-->
+ <key name="const">$(devel.basic1).G.defs.next.next.type Next 2 0</key>
+ <key name="const">$(devel.basic1).getl.defs.getl.getl.type DropA 3 0</key>
+ <key name="const">$(devel.basic1).iso.defs.iso.iso.type SameTop 2 0</key>
+ <key name="const">$(devel.basic1).leq.defs.leq.leq.type EquivA 3 0</key>
<key name="const">$(devel.basic1).lift1.defs.lift1.lift1.type FunLiftS 2 0</key>
<key name="const">$(devel.basic1).lift1.defs.lifts1.lifts1.type FunLiftS 2 0</key>
<!--
-->
<key name="const">$(devel.basic1).lift.defs.lifts.lifts.type FunLift 3 0</key>
<key name="const">$(devel.basic1).lift.defs.lift.type FunLift 3 0</key>
+ <key name="const">$(devel.basic1).lift.defs.lref_map.lref_map.type FunLift 3 0</key>
+ <key name="const">$(devel.basic1).llt.defs.llt.type LT 2 0</key>
+ <key name="const">$(devel.basic1).llt.defs.lweight.lweight.type WeightA 1 0</key>
<!--
-$(devel.basic1).lift.defs.lref_map.lref_map.type 0</key>
-$(devel.basic1).llt.defs.llt.type 0</key>
-$(devel.basic1).llt.defs.lweight.lweight.type 0</key>
$(devel.basic1).next_plus.defs.next_plus.next_plus.type 0</key>
$(devel.basic1).nf2.defs.nf2.type 0</key>
$(devel.basic1).nf2.defs.nfs2.nfs2.type 0</key>
$(devel.basic1).pr1.defs.pr1.pr1.type 0</key>
$(devel.basic1).pr2.defs.pr2.pr2.type 0</key>
$(devel.basic1).pr3.defs.pr3.pr3.type 0</key>
-$(devel.basic1).r.defs.r.type 0</key>
+-->
+ <key name="const">$(devel.basic1).r.defs.r.type FunW 2 0</key>
+<!--
$(devel.basic1).sc3.defs.sc3.sc3.type 0</key>
-$(devel.basic1).s.defs.s.type 0</key>
+-->
+ <key name="const">$(devel.basic1).s.defs.s.type FunV 2 0</key>
+<!--
$(devel.basic1).sn3.defs.sn3.sn3.type 0</key>
$(devel.basic1).sn3.defs.sns3.sns3.type 0</key>
$(devel.basic1).sty0.defs.sty0.sty0.type 0</key>
$(devel.basic1).sty1.defs.sty1.sty1.type 0</key>
-$(devel.basic1).subst0.defs.subst0.subst0.type 0</key>
-$(devel.basic1).subst1.defs.subst1.subst1.type 0</key>
-$(devel.basic1).subst.defs.subst.subst.type 0</key>
+-->
+ <key name="const">$(devel.basic1).subst0.defs.subst0.subst0.type Subst 4 0</key>
+ <key name="const">$(devel.basic1).subst1.defs.subst1.subst1.type SubstS 4 0</key>
+ <key name="const">$(devel.basic1).subst.defs.subst.subst.type FunSubstS 3 0</key>
+<!--
$(devel.basic1).T.defs.K.Bind.type 0</key>
$(devel.basic1).T.defs.K.Flat.type 0</key>
-$(devel.basic1).T.defs.tle.type 0</key>
+-->
+ <key name="const">$(devel.basic1).T.defs.tle.type LE 2 0</key>
+<!--
$(devel.basic1).T.defs.T.THead.type 0</key>
-$(devel.basic1).T.defs.T.TLRef.type 0</key>
-$(devel.basic1).T.defs.T.TSort.type 0</key>
-$(devel.basic1).T.defs.tweight.tweight.type 0</key>
+-->
+ <key name="const">$(devel.basic1).T.defs.T.TLRef.type LRef 1 0</key>
+ <key name="const">$(devel.basic1).T.defs.T.TSort.type AtomA 1 0</key>
+ <key name="const">$(devel.basic1).T.defs.tweight.tweight.type WeightA 1 0</key>
+<!--
$(devel.basic1).T.fwd.T_rect.T_rect.type 0</key>
-->
- <key name="const">$(devel.basic1).tlist.defs.TApp.TApp.type RevConsA 2 0</key>
+ <key name="const">$(devel.basic1).tlist.defs.TApp.TApp.type CoConsA 2 0</key>
<!--
$(devel.basic1).tlist.defs.THeads.THeads.type 0</key>
-->
<key name="const">$(devel.basic1).tlist.defs.TList.TCons.type ConsA 2 0</key>
+ <key name="const">$(devel.basic1).tlist.defs.tslen.tslen.type Length 1 0</key>
+ <key name="const">$(devel.basic1).tlist.defs.tslt.type LT 2 0</key>
+ <key name="const">$(devel.basic1).tlt.defs.tlt.type LT 2 0</key>
+ <key name="const">$(devel.basic1).tlt.defs.wadd.type CoConsA 2 0</key>
+ <key name="const">$(devel.basic1).tlt.defs.weight_map.weight_map.type CoWeightB 2 0</key>
+ <key name="const">$(devel.basic1).tlt.defs.weight.type CoWeightA 1 0</key>
<!--
-$(devel.basic1).tlist.defs.tslen.tslen.type 0</key>
-$(devel.basic1).tlist.defs.tslt.type 0</key>
-$(devel.basic1).tlt.defs.tlt.type 0</key>
-$(devel.basic1).tlt.defs.wadd.type 0</key>
-$(devel.basic1).tlt.defs.weight_map.weight_map.type 0</key>
-$(devel.basic1).tlt.defs.weight.type 0</key>
$(devel.basic1).ty3.defs.ty3.ty3.type 0</key>
$(devel.basic1).ty3.defs.tys3.tys3.type 0</key>
$(devel.basic1).ty3.nf2.ty3_nf2_inv_abst_premise.type 0</key>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{basic_1}[2016/06/19 Notation for "cic:/matita/lambdadelta/basic_1/"]
+\ProvidesPackage{basic_1}[2016/06/21 Notation for "cic:/matita/lambdadelta/basic_1/"]
\RequirePackage{legacy_1}
\RequirePackage{ground_1}
\ExecuteOptions{}
\ProcessOptions*
+\let\OldEquiv=\Equiv
+
\makeatletter
-\newcommand*\ld@drop[1]{\setordlink{\Downarrow}{#1}}
-\newcommand*\ld@drops[1]{\setordlink{\Downarrow^*}{#1}}
-\newcommand*\ld@funlift[1]{\setordlink{\uparrow}{#1}}
-\newcommand*\ld@funlifts[1]{\setordlink{\uparrow^*}{#1}}
+\newcommand*\ld@ob[1]{\mathopen{[}}
+\newcommand*\ld@cb[1]{\mathopen{]}}
+\newcommand*\ld@oB[1]{\mathopen{\lBrack}}
+\newcommand*\ld@cB[1]{\mathopen{\rBrack}}
+
+\newcommand*\ld@coweight[1]{\setoplink{\equivVvert}{#1}{}}
+\newcommand*\ld@drop[2]{\setoplink{\Downarrow}{#1}{#2}}
+\newcommand*\ld@drops[2]{\setoplink{\Downarrow^*}{#1}{#2}}
+\newcommand*\ld@equiv[2]{\setrellink{\equiv}{#1}{#2}}
+\newcommand*\ld@funlift[2]{\setoplink{\uparrow}{#1}{#2}}
+\newcommand*\ld@funlifts[2]{\setoplink{\uparrow^*}{#1}{}}
+\newcommand*\ld@funv[2]{\setoplink{\mathsf{v}}{#1}{#2}}
+\newcommand*\ld@funw[2]{\setoplink{\mathsf{w}}{#1}{#2}}
+\newcommand*\ld@leaf[1]{\setoplink{\star}{#1}{}}
+\newcommand*\ld@length@open[1]{\setopenlink{\vert}{#1}}
+\newcommand*\ld@length@close[1]{\setcloselink{\vert}{#1}}
+\newcommand*\ld@lenv[1]{\setoplink{\mathsf{lenv}}{#1}{}}
+\newcommand*\ld@level[1]{\setoplink{\mathsf{level}}{#1}{}}
+\newcommand*\ld@lref[1]{\setoplink{\#}{#1}{}}
+\newcommand*\ld@next[2]{\setoplink{\mathsf{next}}{#1}{#2}}
+\newcommand*\ld@sametop[1]{\setrellink{\eqsim}{#1}{}}
+\newcommand*\ld@shift[1]{\setordlink{.}{#1}}
+\newcommand*\ld@subst[1]{\setbinlink{/}{#1}{}}
+\newcommand*\ld@substs[1]{\setbinlink{/^*}{#1}{}}
+\newcommand*\ld@to[1]{\setrellink{\rightarrow}{#1}{}}
+\newcommand*\ld@weight[1]{\setoplink{\equalparallel}{#1}{}}
\newcommand*\ld@tuple@a[2]{\ld@oa{#1}#2\ld@ca{#1}}
+\newcommand*\AtomA[2]{\ld@leaf{#1}#2}
+\newcommand*\AtomB[3]{\ld@leaf{#1}\ld@tuple@b{#1}{#2}{#3}}
+\newcommand*\CoConsA[3]{#2\ld@cocons{#1}#3}
\newcommand*\ConsA[3]{#2\ld@cons{#1}#3}
-\newcommand*\Drop[5]{\ld@drop{#1}\ld@tuple@b{#1}{#2}{#3}\ma@thop{}#4\ld@eq{#1}#5}
-\newcommand*\DropS[4]{\ld@drops{#1}\ld@tuple@a{#1}{#2}\ma@thop{}#3\ld@eq{#1}#4}
-\newcommand*\FunLift[4]{\ld@funlift{#1}\ld@tuple@b{#1}{#2}{#3}\ma@thop{}#4}
-\newcommand*\FunLiftS[3]{\ld@funlifts{#1}\ld@tuple@a{#1}{#2}\ma@thop{}#3}
-\newcommand*\RevConsA[3]{#2\ld@revcons{#1}#3}
+\newcommand*\CoWeightA[2]{\ld@coweight{#1}\ld@tuple@a{#1}{#2}}
+\newcommand*\CoWeightB[3]{\ld@coweight{#1}\ld@tuple@b{#1}{#2}{#3}}
+\newcommand*\Drop[3]{\ld@drop{#1}{}#2\ld@eq{#1}#3}
+\newcommand*\DropA[4]{\ld@drop{#1}{\ld@tuple@a{#1}{#2}}#3\ld@eq{#1}#4}
+\newcommand*\DropB[5]{\ld@drop{#1}{\ld@tuple@b{#1}{#2}{#3}}#4\ld@eq{#1}#5}
+\newcommand*\DropS[4]{\ld@drops{#1}{\ld@tuple@a{#1}{#2}}#3\ld@eq{#1}#4}
+\renewcommand*\Equiv[3]{#2\ld@equiv{#1}{}#3}
+\newcommand*\EquivA[4]{#3\ld@equiv{#1}{\ld@tuple@a{#1}{#2}}#4}
+\newcommand*\FunLift[4]{\ld@funlift{#1}{\ld@tuple@b{#1}{#2}{#3}}#4}
+\newcommand*\FunLiftS[3]{\ld@funlifts{#1}{\ld@tuple@a{#1}{#2}}#3}
+\newcommand*\FunSubstS[4]{\mathop{\ld@ob{#1}#3\ld@substs{#1}#2\ld@cb{#1}}#4}
+\newcommand*\FunV[3]{\ld@funv{#1}{\ld@tuple@a{#1}{#2}}#3}
+\newcommand*\FunW[3]{\ld@funw{#1}{\ld@tuple@a{#1}{#2}}#3}
+\newcommand*\LEnv[2]{\ld@lenv{#1}#2}
+\newcommand*\Length[2]{\ld@length@open{#1}#2\ld@length@close{#1}}
+\newcommand*\Level[2]{\ld@level{#1}#2}
+\newcommand*\LRef[2]{\ld@lref{#1}#2}
+\newcommand*\LTB[5]{\ld@tuple@b{#1}{#2}{#3}\ld@lt{#1}\ld@tuple@b{#1}{#4}{#5}}
+\newcommand*\Next[3]{\ld@next{#1}{\ld@tuple@a{#1}{#2}}#3}
+\newcommand*\SameTop[3]{#2\ld@sametop{#1}#3}
+\newcommand*\Shift[3]{#2\ld@shift{#1}#3}
+\newcommand*\Subst[5]{\mathop{\ld@oB{#1}#3\ld@subst{#1}#2\ld@cB{#1}}#4\ld@eq{#1}#5}
+\newcommand*\SubstB[7]{\mathop{\ld@oB{#1}#3\ld@subst{#1}#2\ld@cB{#1}}\ld@tuple@b{#1}{#4}{#5}\ld@eq{#1}\ld@tuple@b{#1}{#6}{#7}}
+\newcommand*\SubstS[5]{\mathop{\ld@oB{#1}#3\ld@substs{#1}#2\ld@cB{#1}}#4\ld@eq{#1}#5}
+\newcommand*\To[3]{#2\ld@to{#1}#3}
+\newcommand*\WeightA[2]{\ld@weight{#1}\ld@tuple@a{#1}{#2}}
+\newcommand*\WeightB[3]{\ld@weight{#1}\ld@tuple@b{#1}{#2}{#3}}
\makeatother
<key name="const">$(devel.ground1).blt.defs.blt.blt.type FunLt 2 0</key>
<key name="const">$(devel.ground1).plist.defs.papp.papp.type Append 2 0</key>
- <key name="const">$(devel.ground1).plist.defs.PConsTail.PConsTail.type RevConsB 3 0</key>
+ <key name="const">$(devel.ground1).plist.defs.PConsTail.PConsTail.type CoConsB 3 0</key>
<key name="const">$(devel.ground1).plist.defs.PList.PCons.type ConsB 3 0</key>
<key name="const">$(devel.ground1).plist.defs.Ss.Ss.type Succ 1 0</key>
</section>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{ground_1}[2016/06/19 Notation for "cic:/matita/lambdadelta/ground_1/"]
+\ProvidesPackage{ground_1}[2016/06/21 Notation for "cic:/matita/lambdadelta/ground_1/"]
\RequirePackage{matex}
-\let\bigtimes\undefined
-\RequirePackage{mathabx}
\ExecuteOptions{}
\ProcessOptions*
\newcommand*\ld@oa[1]{\mathopen{\langle}}
\newcommand*\ld@ca[1]{\mathclose{\rangle}}
-\newcommand*\ld@append[1]{\setbinlink{\oplus}{#1}}
-\newcommand*\ld@cons[1]{\setbinlink{\oright}{#1}}
-\newcommand*\ld@funlt[1]{\setbinlink{\olessthan}{#1}}
-\newcommand*\ld@revcons[1]{\setbinlink{\oleft}{#1}}
+\newcommand*\ld@append[1]{\setbinlink{\oplus}{#1}{}}
+\newcommand*\ld@cocons[1]{\setbinlink{\opluslhrim}{#1}{}}
+\newcommand*\ld@cons[1]{\setbinlink{\oplusrhrim}{#1}{}}
+\newcommand*\ld@funlt[1]{\setbinlink{\olessthan}{#1}{}}
\newcommand*\ld@tuple@b[3]{\ld@oa{#1}#2\ld@cm{#1}#3\ld@ca{#1}}
\newcommand*\Append[3]{#2\ld@append{#1}#3}
+\newcommand*\CoConsB[4]{#2\ld@cocons{#1}\ld@tuple@b{#1}{#3}{#4}}
\newcommand*\ConsB[4]{\ld@tuple@b{#1}{#2}{#3}\ld@cons{#1}#4}
\newcommand*\FunLt[3]{#2\ld@funlt{#1}#3}
-\newcommand*\RevConsB[4]{#2\ld@revcons{#1}\ld@tuple@b{#1}{#3}{#4}}
\makeatother
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{legacy_1}[2016/06/19 Notation for "cic:/matita/lambdadelta/legacy_1/"]
+\ProvidesPackage{legacy_1}[2016/06/21 Notation for "cic:/matita/lambdadelta/legacy_1/"]
\RequirePackage{matex}
\ExecuteOptions{}
\ProcessOptions*
\makeatletter
-\newcommand*\ld@and[1]{\setbinlink{\&}{#1}}
+\newcommand*\ld@and[1]{\setbinlink{\&}{#1}{}}
\newcommand*\ld@lex[1]{\setordlink{\exists}{#1}}
-\newcommand*\ld@land[1]{\setrellink{\land}{#1}}
-\newcommand*\ld@lor[1]{\setrellink{\lor}{#1}}
-
-\newcommand*\ld@eq[1]{\setrellink{=}{#1}}
-\newcommand*\ld@le[1]{\setrellink{\le}{#1}}
-\newcommand*\ld@lt[1]{\setrellink{<}{#1}}
-\newcommand*\ld@minus[1]{\setbinlink{-}{#1}}
-\newcommand*\ld@lnot[1]{\setoplink{\lnot}{#1}}
-\newcommand*\ld@plus[1]{\setbinlink{+}{#1}}
-\newcommand*\ld@pred[1]{\setoplink{\midcir}{#1}}
-\newcommand*\ld@succ[1]{\setoplink{\cirmid}{#1}}
+\newcommand*\ld@land[1]{\setrellink{\land}{#1}{}}
+\newcommand*\ld@lor[1]{\setrellink{\lor}{#1}{}}
+
+\newcommand*\ld@eq[1]{\setrellink{=}{#1}{}}
+\newcommand*\ld@le[1]{\setrellink{\le}{#1}{}}
+\newcommand*\ld@lt[1]{\setrellink{<}{#1}{}}
+\newcommand*\ld@minus[1]{\setbinlink{-}{#1}{}}
+\newcommand*\ld@lnot[1]{\setoplink{\lnot}{#1}{}}
+\newcommand*\ld@plus[1]{\setbinlink{+}{#1}{}}
+\newcommand*\ld@pred[1]{\setoplink{\midcir}{#1}{}}
+\newcommand*\ld@succ[1]{\setoplink{\cirmid}{#1}{}}
\newcommand*\ld@list[2]{\ma@list\relax\ma@arg{#1{#2}}\relax}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{matex}[2016/06/19 MaTeX Package]
+\ProvidesPackage{matex}[2016/06/21 MaTeX Package]
\RequirePackage{xcolor}
-\RequirePackage{stix}
+\RequirePackage[lcgreekalpha]{stix}
\ExecuteOptions{}
\ProcessOptions*
}
\newcommand*\setordlink[2]{\mathord{\ma@setlink{#1}{#2}}}
-\newcommand*\setoplink[2]{\mathop{\ma@setlink{#1}{#2}}}
-\newcommand*\setbinlink[2]{\mathbin{\ma@setlink{#1}{#2}}}
-\newcommand*\setrellink[2]{\mathrel{\ma@setlink{#1}{#2}}}
\newcommand*\setopenlink[2]{\mathopen{\ma@setlink{#1}{#2}}}
\newcommand*\setcloselink[2]{\mathclose{\ma@setlink{#1}{#2}}}
\newcommand*\setpunctlink[2]{\mathpunct{\ma@setlink{#1}{#2}}}
+\newcommand*\setoplink[3]{\mathop{\ma@setlink{#1}{#2}#3}}
+\newcommand*\setbinlink[3]{\mathbin{\ma@setlink{#1}{#2}#3}}
+\newcommand*\setrellink[3]{\mathrel{\ma@setlink{#1}{#2}#3}}
\newcommand*\ObjIncNode{}
\newcommand*\ObjNode{}
-\documentclass[8pt,twocolumn]{extarticle}
+\documentclass[8pt,twocolumn,a4paper]{extarticle}
+\usepackage[margin=2cm]{geometry}
\usepackage[bookmarks=false,ps2pdf]{hyperref}
\usepackage[american]{babel}
\usepackage{matex}
\renewcommand*\ObjIncNode{\stepcounter{node}}
\renewcommand*\ObjNode{\arabic{node} }
-\title{The Core Theory of the Formal System $\lambda\delta\hbox{-}1$}
+\title{The Core Theory of the Formal System $\lambda\delta\hbox{-}1$:
+Definitions and Statements}
\author{Ferruccio Guidi}