]> matita.cs.unibo.it Git - helm.git/commitdiff
decentralized notation in lambda
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 30 Apr 2020 20:32:06 +0000 (22:32 +0200)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 30 Apr 2020 20:32:06 +0000 (22:32 +0200)
+ Makefile update

84 files changed:
.gitignore
matita/matita/lib/lambda/Makefile
matita/matita/lib/lambda/background/notation.ma [deleted file]
matita/matita/lib/lambda/background/preamble.ma
matita/matita/lib/lambda/background/xoa.ma [deleted file]
matita/matita/lib/lambda/background/xoa_notation.ma [deleted file]
matita/matita/lib/lambda/levels/iterated_abstraction.ma
matita/matita/lib/lambda/levels/term.ma
matita/matita/lib/lambda/notation/functions/abstraction_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/abstraction_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/annotatedabstraction_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/application_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/application_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/backward_1.ma
matita/matita/lib/lambda/notation/functions/backward_3.ma
matita/matita/lib/lambda/notation/functions/dsubst_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/forward_1.ma
matita/matita/lib/lambda/notation/functions/forward_3.ma
matita/matita/lib/lambda/notation/functions/hocons_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/lift_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/multiplicity_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/nil_0.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/projectdown_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/projectsame_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/projectup_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/variablereferencebyindex_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/variablereferencebyindex_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/functions/variablereferencebylevel_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/decomposedstd_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/parred_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/parredstar_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/prec_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/seqred_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/seqred_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/seqredstar_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/seqredstar_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/std_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/relations/stdstar_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_1_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_2_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_2_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_3_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_3_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_3_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_3_4.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_4_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_4_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/ex_4_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/false_0.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/or_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/notation/xoa/true_0.ma [new file with mode: 0644]
matita/matita/lib/lambda/paths/dst_computation.ma
matita/matita/lib/lambda/paths/labeled_sequential_computation.ma
matita/matita/lib/lambda/paths/labeled_sequential_reduction.ma
matita/matita/lib/lambda/paths/labeled_st_computation.ma
matita/matita/lib/lambda/paths/labeled_st_reduction.ma
matita/matita/lib/lambda/paths/standard_precedence.ma
matita/matita/lib/lambda/subterms/boolean.ma
matita/matita/lib/lambda/subterms/booleanized.ma
matita/matita/lib/lambda/subterms/carrier.ma
matita/matita/lib/lambda/subterms/relocating_substitution.ma
matita/matita/lib/lambda/subterms/relocation.ma
matita/matita/lib/lambda/subterms/subterms.ma
matita/matita/lib/lambda/terms/iterated_abstraction.ma
matita/matita/lib/lambda/terms/multiplicity.ma
matita/matita/lib/lambda/terms/parallel_computation.ma
matita/matita/lib/lambda/terms/parallel_reduction.ma
matita/matita/lib/lambda/terms/relocating_substitution.ma
matita/matita/lib/lambda/terms/relocation.ma
matita/matita/lib/lambda/terms/sequential_computation.ma
matita/matita/lib/lambda/terms/sequential_reduction.ma
matita/matita/lib/lambda/terms/term.ma
matita/matita/lib/lambda/xoa.conf.xml
matita/matita/lib/lambda/xoa/ex_1_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_2_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_2_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_3_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_3_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_3_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_3_4.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_4_1.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_4_2.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/ex_4_3.ma [new file with mode: 0644]
matita/matita/lib/lambda/xoa/or_3.ma [new file with mode: 0644]

index f8a1df2a7e350e35b6c9187f5cd0d56339a6c0a6..9f322dc4ce125c7e6e9d15fe8bcc77560ba5ff44 100644 (file)
@@ -77,6 +77,8 @@ helm/www/lambdadelta/xslt/changes.xsl
 helm/www/lambdadelta/xslt/chc_45.xsl
 helm/www/lambdadelta/xslt/xhtbl.xsl
 
+matita/matita/lib/lambda/.depend
+
 matita/matita/contribs/lambdadelta/.depend
 matita/matita/contribs/lambdadelta/bin/nodes
 matita/matita/contribs/lambdadelta/bin/token
index b715eb42ad07eb341c1a032920d4278fd9066e96..96ae6448a54fd7f64940ee3d5a99f55a81cfdee2 100644 (file)
@@ -1,29 +1,53 @@
-H        = @
-XOA_DIR  = ../../../components/binaries/xoa
-XOA      = xoa.native
-DEP_DIR  = ../../../components/binaries/matitadep
-DEP      = matitadep.native
-MAC_DIR  = ../../../components/binaries/mac
-MAC      = mac.native
+H    := @
 
-XOA_CONF    = xoa.conf.xml
-XOA_TARGETS = background/xoa_notation.ma background/xoa.ma
+TAGS := all xoa deps top
 
-all: xoa
-       $(H)../../matitac.opt */*.ma
+all:
+       $(H)../../matitac.opt .
 
 # xoa ########################################################################
 
-xoa: $(XOA_TARGETS)
+XOA_DIR      := ../../../components/binaries/xoa
+XOA          := xoa.native
+XOA_CONF     := xoa.conf.xml
+XOA_OPTS     := ../../matita.conf.xml $(XOA_CONF)
 
-$(XOA_TARGETS): $(XOA_CONF)
+xoa: $(XOA_CONF)
        @echo "  EXEC $(XOA) $(XOA_CONF)"
-       $(H)MATITA_RT_BASE_DIR=../.. $(XOA_DIR)/$(XOA) $(XOA_CONF)
+       $(H)$(XOA_DIR)/$(XOA) -s $(XOA_OPTS)
+
+# dep input ##################################################################
+
+DEP_INPUT    := .depend
+DEP_DIR      := ../../../components/binaries/matitadep
+DEP          := matitadep.native
+DEP_OPTS     :=
+
+$(DEP_INPUT): MAS = $(shell find $* -name "*.ma")
+
+$(DEP_INPUT): LINE = $(MAS:%=%:include \"\".)
+
+$(DEP_INPUT): REPL = sed -e 's/^\./lambda/'
+
+$(DEP_INPUT): $(MAS) Makefile
+       @echo "  GREP include"
+       $(H)grep "include \"" $(MAS) | $(REPL) > $(DEP_INPUT)
+       $(H)echo "$(LINE)" | sed -e 's/\"\. /\"\.\n/g' | $(REPL) >> $(DEP_INPUT)
 
 # dep ########################################################################
 
-deps: MAS = $(shell find $* -name "*.ma")
+deps: $(DEP_INPUT)
+       @echo "  MATITADEP -c"
+       $(H)$(DEP_DIR)/$(DEP) -c $(DEP_OPTS) $<
+
+# top ########################################################################
+
+top: $(DEP_INPUT)
+       @echo "  MATITADEP -t"
+       $(H)$(DEP_DIR)/$(DEP) -t $(DEP_OPTS) $<
+
+##############################################################################
+
+.PHONY: $(TAGS)
 
-deps: $(DEP_DIR)/$(DEP)
-       @echo "  MATITADEP"
-       $(H)grep "include \"" $(MAS) | $<
+.SUFFIXES:
diff --git a/matita/matita/lib/lambda/background/notation.ma b/matita/matita/lib/lambda/background/notation.ma
deleted file mode 100644 (file)
index fdfffb3..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* GENERIC NOTATION *********************************************************)
-
-(* Note: this should go to core_notation *)
-notation "⊥"
-  non associative with precedence 90
-  for @{'false}.
-
-(* Note: this should go to core_notation *)
-notation "⊤"
-  non associative with precedence 90
-  for @{'true}.
-
-(* Note: this should go to core_notation *)
-notation "hvbox(a break ≺ b)"
-   non associative with precedence 45
-   for @{ 'prec $a $b }.
-
-notation "hvbox( # term 90 i )"
- non associative with precedence 46
- for @{ 'VariableReferenceByIndex $i }.
-
-notation "hvbox( { term 46 b } # break term 90 i )"
- non associative with precedence 46
- for @{ 'VariableReferenceByIndex $b $i }.
-
-notation "hvbox( 𝛌 . term 46 A )"
-   non associative with precedence 46
-   for @{ 'Abstraction $A }.
-
-notation "hvbox( { term 46 b } 𝛌 . break term 46 T)"
-   non associative with precedence 46
-   for @{ 'Abstraction $b $T }.
-
-notation "hvbox( 𝛌 term 46 d . break term 46 A )"
-   non associative with precedence 46
-   for @{ 'AnnotatedAbstraction $d $A }.
-
-notation "hvbox( @ term 46 C . break term 46 A )"
-   non associative with precedence 46
-   for @{ 'Application $C $A }.
-
-notation "hvbox( { term 46 b } @ break term 46 V . break term 46 T )"
-   non associative with precedence 46
-   for @{ 'Application $b $V $T }.
-
-notation "hvbox( ↑ [ term 46 d , break term 46 h ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'Lift $h $d $M }.
-
-notation > "hvbox( ↑ [ term 46 h ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'Lift $h 0 $M }.
-
-notation > "hvbox( ↑ term 46 M )"
-   non associative with precedence 46
-   for @{ 'Lift 1 0 $M }.
-
-(* Note: the notation with "/" does not work *)
-notation "hvbox( [ term 46 d break ↙ term 46 N ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'DSubst $N $d $M }.
-
-notation > "hvbox( [ ↙ term 46 N ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'DSubst $N 0 $M }.
-
-(* Note: we do not use → since it is reserved by CIC *)
-notation "hvbox( M break ↦ term 46 N )"
-   non associative with precedence 45
-   for @{ 'SeqRed $M $N }.
-
-notation "hvbox( M break ↦ [ term 46 p ] break term 46 N )"
-   non associative with precedence 45
-   for @{ 'SeqRed $M $p $N }.
-
-notation "hvbox( M break ↦* term 46 N )"
-   non associative with precedence 45
-   for @{ 'SeqRedStar $M $N }.
-
-notation "hvbox( M break ↦* [ term 46 s ] break term 46 N )"
-   non associative with precedence 45
-   for @{ 'SeqRedStar $M $s $N }.
-
-notation "hvbox( M break ⤇ term 46 N )"
-   non associative with precedence 45
-   for @{ 'ParRed $M $N }.
-
-notation "hvbox( M break ⤇* term 46 N )"
-   non associative with precedence 45
-   for @{ 'ParRedStar $M $N }.
index 6a087e3aa8f470878f61ec1a86ccbdee9ef11088..dd5b0d643816f30d40a45322c78b8bfc4f89592c 100644 (file)
@@ -16,9 +16,15 @@ include "basics/star1.ma".
 include "basics/lists/lstar.ma".
 include "arithmetics/exp.ma".
 
-include "lambda/background/xoa_notation.ma".
-include "lambda/background/xoa.ma".
-include "lambda/background/notation.ma".
+include "lambda/notation/xoa/false_0.ma".
+include "lambda/notation/xoa/true_0.ma".
+include "lambda/xoa/or_3.ma".
+include "lambda/xoa/ex_1_2.ma".
+include "lambda/xoa/ex_3_2.ma".
+include "lambda/xoa/ex_3_3.ma".
+
+include "lambda/notation/functions/nil_0.ma".
+include "lambda/notation/functions/hocons_2.ma".
 
 (* logic *)
 
@@ -82,11 +88,6 @@ qed.
 
 (* lists *)
 
-(* Note: notation for nil not involving brackets *)
-notation > "◊"
-  non associative with precedence 90
-  for @{'nil}.
-
 lemma list_inv: ∀A. ∀l:list A. ◊ = l ∨ ∃∃a0,l0. a0 :: l0 = l.
 #A * /2 width=1/ /3 width=3/
 qed-.
@@ -96,10 +97,6 @@ definition map_cons: ∀A. A → list (list A) → list (list A) ≝ λA,a.
 
 interpretation "map_cons" 'ho_cons a l = (map_cons ? a l).
 
-notation "hvbox(a ::: break l)"
-  right associative with precedence 47
-  for @{'ho_cons $a $l}.
-
 lemma map_cons_inv_nil: ∀A,a,l1. map_cons A a l1 = ◊ → ◊ = l1.
 #A #a * // normalize #a1 #l1 #H destruct
 qed-.
diff --git a/matita/matita/lib/lambda/background/xoa.ma b/matita/matita/lib/lambda/background/xoa.ma
deleted file mode 100644 (file)
index 96a1fb9..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* This file was generated by xoa.native: do not edit *********************)
-
-include "basics/pts.ma".
-
-include "lambda/background/xoa_notation.ma".
-
-(* multiple existental quantifier (1, 2) *)
-
-inductive ex1_2 (A0,A1:Type[0]) (P0:A0→A1→Prop) : Prop ≝
-   | ex1_2_intro: ∀x0,x1. P0 x0 x1 → ex1_2 ? ? ?
-.
-
-interpretation "multiple existental quantifier (1, 2)" 'Ex P0 = (ex1_2 ? ? P0).
-
-(* multiple existental quantifier (2, 2) *)
-
-inductive ex2_2 (A0,A1:Type[0]) (P0,P1:A0→A1→Prop) : Prop ≝
-   | ex2_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → ex2_2 ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (2, 2)" 'Ex P0 P1 = (ex2_2 ? ? P0 P1).
-
-(* multiple existental quantifier (2, 3) *)
-
-inductive ex2_3 (A0,A1,A2:Type[0]) (P0,P1:A0→A1→A2→Prop) : Prop ≝
-   | ex2_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → ex2_3 ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (2, 3)" 'Ex P0 P1 = (ex2_3 ? ? ? P0 P1).
-
-(* multiple existental quantifier (3, 1) *)
-
-inductive ex3 (A0:Type[0]) (P0,P1,P2:A0→Prop) : Prop ≝
-   | ex3_intro: ∀x0. P0 x0 → P1 x0 → P2 x0 → ex3 ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (3, 1)" 'Ex P0 P1 P2 = (ex3 ? P0 P1 P2).
-
-(* multiple existental quantifier (3, 2) *)
-
-inductive ex3_2 (A0,A1:Type[0]) (P0,P1,P2:A0→A1→Prop) : Prop ≝
-   | ex3_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → P2 x0 x1 → ex3_2 ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (3, 2)" 'Ex P0 P1 P2 = (ex3_2 ? ? P0 P1 P2).
-
-(* multiple existental quantifier (3, 3) *)
-
-inductive ex3_3 (A0,A1,A2:Type[0]) (P0,P1,P2:A0→A1→A2→Prop) : Prop ≝
-   | ex3_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → P2 x0 x1 x2 → ex3_3 ? ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (3, 3)" 'Ex P0 P1 P2 = (ex3_3 ? ? ? P0 P1 P2).
-
-(* multiple existental quantifier (3, 4) *)
-
-inductive ex3_4 (A0,A1,A2,A3:Type[0]) (P0,P1,P2:A0→A1→A2→A3→Prop) : Prop ≝
-   | ex3_4_intro: ∀x0,x1,x2,x3. P0 x0 x1 x2 x3 → P1 x0 x1 x2 x3 → P2 x0 x1 x2 x3 → ex3_4 ? ? ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (3, 4)" 'Ex P0 P1 P2 = (ex3_4 ? ? ? ? P0 P1 P2).
-
-(* multiple existental quantifier (4, 1) *)
-
-inductive ex4 (A0:Type[0]) (P0,P1,P2,P3:A0→Prop) : Prop ≝
-   | ex4_intro: ∀x0. P0 x0 → P1 x0 → P2 x0 → P3 x0 → ex4 ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (4, 1)" 'Ex P0 P1 P2 P3 = (ex4 ? P0 P1 P2 P3).
-
-(* multiple existental quantifier (4, 2) *)
-
-inductive ex4_2 (A0,A1:Type[0]) (P0,P1,P2,P3:A0→A1→Prop) : Prop ≝
-   | ex4_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → P2 x0 x1 → P3 x0 x1 → ex4_2 ? ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (4, 2)" 'Ex P0 P1 P2 P3 = (ex4_2 ? ? P0 P1 P2 P3).
-
-(* multiple existental quantifier (4, 3) *)
-
-inductive ex4_3 (A0,A1,A2:Type[0]) (P0,P1,P2,P3:A0→A1→A2→Prop) : Prop ≝
-   | ex4_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → P2 x0 x1 x2 → P3 x0 x1 x2 → ex4_3 ? ? ? ? ? ? ?
-.
-
-interpretation "multiple existental quantifier (4, 3)" 'Ex P0 P1 P2 P3 = (ex4_3 ? ? ? P0 P1 P2 P3).
-
-(* multiple disjunction connective (3) *)
-
-inductive or3 (P0,P1,P2:Prop) : Prop ≝
-   | or3_intro0: P0 → or3 ? ? ?
-   | or3_intro1: P1 → or3 ? ? ?
-   | or3_intro2: P2 → or3 ? ? ?
-.
-
-interpretation "multiple disjunction connective (3)" 'Or P0 P1 P2 = (or3 P0 P1 P2).
-
diff --git a/matita/matita/lib/lambda/background/xoa_notation.ma b/matita/matita/lib/lambda/background/xoa_notation.ma
deleted file mode 100644 (file)
index 240c1dd..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* This file was generated by xoa.native: do not edit *********************)
-
-(* multiple existental quantifier (1, 2) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.$P0) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) }.
-
-(* multiple existental quantifier (2, 2) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) }.
-
-(* multiple existental quantifier (2, 3) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) }.
-
-(* multiple existental quantifier (3, 1) *)
-
-notation > "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.$P0) (λ${ident x0}.$P1) (λ${ident x0}.$P2) }.
-
-notation < "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.$P0) (λ${ident x0}:$T0.$P1) (λ${ident x0}:$T0.$P2) }.
-
-(* multiple existental quantifier (3, 2) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) (λ${ident x0}.λ${ident x1}.$P2) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P2) }.
-
-(* multiple existental quantifier (3, 3) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P2) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P2) }.
-
-(* multiple existental quantifier (3, 4) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 , ident x3 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P2) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 , ident x3 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P2) }.
-
-(* multiple existental quantifier (4, 1) *)
-
-notation > "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.$P0) (λ${ident x0}.$P1) (λ${ident x0}.$P2) (λ${ident x0}.$P3) }.
-
-notation < "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.$P0) (λ${ident x0}:$T0.$P1) (λ${ident x0}:$T0.$P2) (λ${ident x0}:$T0.$P3) }.
-
-(* multiple existental quantifier (4, 2) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) (λ${ident x0}.λ${ident x1}.$P2) (λ${ident x0}.λ${ident x1}.$P3) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P2) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P3) }.
-
-(* multiple existental quantifier (4, 3) *)
-
-notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P2) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P3) }.
-
-notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
- non associative with precedence 20
- for @{ 'Ex (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P2) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P3) }.
-
-(* multiple disjunction connective (3) *)
-
-notation "hvbox(∨∨ term 29 P0 break | term 29 P1 break | term 29 P2)"
- non associative with precedence 30
- for @{ 'Or $P0 $P1 $P2 }.
-
index c2ad35be78390cf94b2626a4c3e638149691a69c..c9b634987814ebd1685a177c8e69d5214023269d 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/levels/term.ma".
 
+include "lambda/notation/functions/annotatedabstraction_2.ma".
+
 (* ITERATED ABSTRACTION *****************************************************)
 
 definition labst: nat → lterm → lterm ≝ λh,M. match M with
index 593e2b64893232e0ee567f956d9c84416b552963..d7fd7f32b45dfb45c9305f9078ddd06742174bec 100644 (file)
@@ -14,6 +14,9 @@
 
 include "lambda/background/preamble.ma".
 
+include "lambda/notation/functions/variablereferencebylevel_2.ma".
+include "lambda/notation/functions/application_3.ma".
+
 (* PER LEVEL TERM STRUCTURE *************************************************)
 
 (* Policy: term metavariables          : A, B, C, D, M, N
@@ -31,7 +34,3 @@ interpretation "stratified term construction (variable reference by level)"
 
 interpretation "stratified term construction (application)"
    'Application i C A = (LAppl i C A).
-
-notation "hvbox( { term 46 b } § break term 90 d )"
- non associative with precedence 46
- for @{ 'VariableReferenceByLevel $b $d }.
diff --git a/matita/matita/lib/lambda/notation/functions/abstraction_1.ma b/matita/matita/lib/lambda/notation/functions/abstraction_1.ma
new file mode 100644 (file)
index 0000000..410c661
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( 𝛌 . term 46 A )"
+  non associative with precedence 46
+  for @{ 'Abstraction $A }.
diff --git a/matita/matita/lib/lambda/notation/functions/abstraction_2.ma b/matita/matita/lib/lambda/notation/functions/abstraction_2.ma
new file mode 100644 (file)
index 0000000..bc04d21
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } 𝛌 . break term 46 T)"
+  non associative with precedence 46
+  for @{ 'Abstraction $b $T }.
diff --git a/matita/matita/lib/lambda/notation/functions/annotatedabstraction_2.ma b/matita/matita/lib/lambda/notation/functions/annotatedabstraction_2.ma
new file mode 100644 (file)
index 0000000..ae7579b
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( 𝛌 term 46 d . break term 46 A )"
+  non associative with precedence 46
+  for @{ 'AnnotatedAbstraction $d $A }.
diff --git a/matita/matita/lib/lambda/notation/functions/application_2.ma b/matita/matita/lib/lambda/notation/functions/application_2.ma
new file mode 100644 (file)
index 0000000..9be610f
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( @ term 46 C . break term 46 A )"
+  non associative with precedence 46
+  for @{ 'Application $C $A }.
diff --git a/matita/matita/lib/lambda/notation/functions/application_3.ma b/matita/matita/lib/lambda/notation/functions/application_3.ma
new file mode 100644 (file)
index 0000000..fbf6e50
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } @ break term 46 V . break term 46 T )"
+  non associative with precedence 46
+  for @{ 'Application $b $V $T }.
index 08ee2b3cd4e4024c1e843ff0b936367768fc81df..37fdc2c533b466df5ad59c8e00181642559f0292 100644 (file)
@@ -13,5 +13,5 @@
 (**************************************************************************)
 
 notation "hvbox( ⇓ term 46 M )"
-   non associative with precedence 46
-   for @{ 'Backward $M }.
+  non associative with precedence 46
+  for @{ 'Backward $M }.
index bfdbfb8a613297094655de8930adf9476c8f9df4..a62cc2c04efe13c0d03ead682217bc7b9c482ca7 100644 (file)
@@ -13,5 +13,5 @@
 (**************************************************************************)
 
 notation "hvbox( ⇓ [ term 46 d , break term 46 h ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'Backward $h $d $M }.
+  non associative with precedence 46
+  for @{ 'Backward $h $d $M }.
diff --git a/matita/matita/lib/lambda/notation/functions/dsubst_3.ma b/matita/matita/lib/lambda/notation/functions/dsubst_3.ma
new file mode 100644 (file)
index 0000000..b9dbf29
--- /dev/null
@@ -0,0 +1,22 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: the notation with "/" does not work *)
+notation "hvbox( [ term 46 d break ↙ term 46 N ] break term 46 M )"
+  non associative with precedence 46
+  for @{ 'DSubst $N $d $M }.
+
+notation > "hvbox( [ ↙ term 46 N ] break term 46 M )"
+  non associative with precedence 46
+  for @{ 'DSubst $N 0 $M }.
index 32abbf60d5f9e8ee7347e85ab64f8c82f36507b9..b58876dc61741179736970f8b462871e1baf8789 100644 (file)
@@ -13,5 +13,5 @@
 (**************************************************************************)
 
 notation "hvbox( ⇑ term 46 M )"
-   non associative with precedence 46
-   for @{ 'Forward $M }.
+  non associative with precedence 46
+  for @{ 'Forward $M }.
index ba48d17ebeaf97a21ca7f0af6de80f0c3c5723da..d91a25f219364d25eaa0f7617376758232f0f4f5 100644 (file)
@@ -13,5 +13,5 @@
 (**************************************************************************)
 
 notation "hvbox( ⇑ [ term 46 d, break term 46 h ] break term 46 M )"
-   non associative with precedence 46
-   for @{ 'Forward $h $d $M }.
+  non associative with precedence 46
+  for @{ 'Forward $h $d $M }.
diff --git a/matita/matita/lib/lambda/notation/functions/hocons_2.ma b/matita/matita/lib/lambda/notation/functions/hocons_2.ma
new file mode 100644 (file)
index 0000000..b12c256
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox(a ::: break l)"
+  right associative with precedence 47
+  for @{'ho_cons $a $l}.
diff --git a/matita/matita/lib/lambda/notation/functions/lift_3.ma b/matita/matita/lib/lambda/notation/functions/lift_3.ma
new file mode 100644 (file)
index 0000000..307d594
--- /dev/null
@@ -0,0 +1,25 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( ↑ [ term 46 d , break term 46 h ] break term 46 M )"
+  non associative with precedence 46
+  for @{ 'Lift $h $d $M }.
+
+notation > "hvbox( ↑ [ term 46 h ] break term 46 M )"
+  non associative with precedence 46
+  for @{ 'Lift $h 0 $M }.
+
+notation > "hvbox( ↑ term 46 M )"
+  non associative with precedence 46
+  for @{ 'Lift 1 0 $M }.
diff --git a/matita/matita/lib/lambda/notation/functions/multiplicity_1.ma b/matita/matita/lib/lambda/notation/functions/multiplicity_1.ma
new file mode 100644 (file)
index 0000000..6ab279e
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( ♯{ term 46 M } )"
+  non associative with precedence 90
+  for @{ 'Multiplicity $M }.
diff --git a/matita/matita/lib/lambda/notation/functions/nil_0.ma b/matita/matita/lib/lambda/notation/functions/nil_0.ma
new file mode 100644 (file)
index 0000000..9df2a46
--- /dev/null
@@ -0,0 +1,18 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: notation for nil not involving brackets *)
+notation > "◊"
+  non associative with precedence 90
+  for @{'nil}.
diff --git a/matita/matita/lib/lambda/notation/functions/projectdown_1.ma b/matita/matita/lib/lambda/notation/functions/projectdown_1.ma
new file mode 100644 (file)
index 0000000..d771417
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox(⇓ term 46 F)"
+  non associative with precedence 46
+  for @{ 'ProjectDown $F }.
diff --git a/matita/matita/lib/lambda/notation/functions/projectsame_2.ma b/matita/matita/lib/lambda/notation/functions/projectsame_2.ma
new file mode 100644 (file)
index 0000000..0404bed
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } ⇕ break term 46 F)"
+  non associative with precedence 46
+  for @{ 'ProjectSame $b $F }.
diff --git a/matita/matita/lib/lambda/notation/functions/projectup_2.ma b/matita/matita/lib/lambda/notation/functions/projectup_2.ma
new file mode 100644 (file)
index 0000000..98ddfb7
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } ⇑ break term 46 M)"
+  non associative with precedence 46
+  for @{ 'ProjectUp $b $M }.
diff --git a/matita/matita/lib/lambda/notation/functions/variablereferencebyindex_1.ma b/matita/matita/lib/lambda/notation/functions/variablereferencebyindex_1.ma
new file mode 100644 (file)
index 0000000..e4b15ed
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( # term 90 i )"
+  non associative with precedence 46
+  for @{ 'VariableReferenceByIndex $i }.
diff --git a/matita/matita/lib/lambda/notation/functions/variablereferencebyindex_2.ma b/matita/matita/lib/lambda/notation/functions/variablereferencebyindex_2.ma
new file mode 100644 (file)
index 0000000..6295418
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } # break term 90 i )"
+  non associative with precedence 46
+  for @{ 'VariableReferenceByIndex $b $i }.
diff --git a/matita/matita/lib/lambda/notation/functions/variablereferencebylevel_2.ma b/matita/matita/lib/lambda/notation/functions/variablereferencebylevel_2.ma
new file mode 100644 (file)
index 0000000..bdbb535
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( { term 46 b } § break term 90 d )"
+  non associative with precedence 46
+  for @{ 'VariableReferenceByLevel $b $d }.
diff --git a/matita/matita/lib/lambda/notation/relations/decomposedstd_2.ma b/matita/matita/lib/lambda/notation/relations/decomposedstd_2.ma
new file mode 100644 (file)
index 0000000..b55106f
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ⓢ↦* term 46 N )"
+  non associative with precedence 45
+  for @{ 'DecomposedStd $M $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/parred_2.ma b/matita/matita/lib/lambda/notation/relations/parred_2.ma
new file mode 100644 (file)
index 0000000..cb9139d
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ⤇ term 46 N )"
+  non associative with precedence 45
+  for @{ 'ParRed $M $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/parredstar_2.ma b/matita/matita/lib/lambda/notation/relations/parredstar_2.ma
new file mode 100644 (file)
index 0000000..11443de
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ⤇* term 46 N )"
+  non associative with precedence 45
+  for @{ 'ParRedStar $M $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/prec_2.ma b/matita/matita/lib/lambda/notation/relations/prec_2.ma
new file mode 100644 (file)
index 0000000..528e170
--- /dev/null
@@ -0,0 +1,18 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: this should go to core_notation *)
+notation "hvbox(a break ≺ b)"
+  non associative with precedence 45
+  for @{ 'prec $a $b }.
diff --git a/matita/matita/lib/lambda/notation/relations/seqred_2.ma b/matita/matita/lib/lambda/notation/relations/seqred_2.ma
new file mode 100644 (file)
index 0000000..4edfaf7
--- /dev/null
@@ -0,0 +1,18 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: we do not use → since it is reserved by CIC *)
+notation "hvbox( M break ↦ term 46 N )"
+  non associative with precedence 45
+  for @{ 'SeqRed $M $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/seqred_3.ma b/matita/matita/lib/lambda/notation/relations/seqred_3.ma
new file mode 100644 (file)
index 0000000..deb440e
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ↦ [ term 46 p ] break term 46 N )"
+  non associative with precedence 45
+  for @{ 'SeqRed $M $p $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/seqredstar_2.ma b/matita/matita/lib/lambda/notation/relations/seqredstar_2.ma
new file mode 100644 (file)
index 0000000..352aaf3
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ↦* term 46 N )"
+  non associative with precedence 45
+  for @{ 'SeqRedStar $M $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/seqredstar_3.ma b/matita/matita/lib/lambda/notation/relations/seqredstar_3.ma
new file mode 100644 (file)
index 0000000..efc27d7
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( M break ↦* [ term 46 s ] break term 46 N )"
+  non associative with precedence 45
+  for @{ 'SeqRedStar $M $s $N }.
diff --git a/matita/matita/lib/lambda/notation/relations/std_3.ma b/matita/matita/lib/lambda/notation/relations/std_3.ma
new file mode 100644 (file)
index 0000000..57c7cb6
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( F break Ⓡ ↦ [ term 46 p ] break term 46 G )"
+  non associative with precedence 45
+  for @{ 'Std $F $p $G }.
diff --git a/matita/matita/lib/lambda/notation/relations/stdstar_3.ma b/matita/matita/lib/lambda/notation/relations/stdstar_3.ma
new file mode 100644 (file)
index 0000000..6195c50
--- /dev/null
@@ -0,0 +1,17 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+notation "hvbox( F break Ⓡ ↦* [ term 46 p ] break term 46 G )"
+  non associative with precedence 45
+  for @{ 'StdStar $F $p $G }.
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_1_2.ma b/matita/matita/lib/lambda/notation/xoa/ex_1_2.ma
new file mode 100644 (file)
index 0000000..77c7366
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (1, 2) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}.λ${ident x1}.$P0) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_2_2.ma b/matita/matita/lib/lambda/notation/xoa/ex_2_2.ma
new file mode 100644 (file)
index 0000000..ccef162
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (2, 2) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_2_3.ma b/matita/matita/lib/lambda/notation/xoa/ex_2_3.ma
new file mode 100644 (file)
index 0000000..5e0dba5
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (2, 3) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_3_1.ma b/matita/matita/lib/lambda/notation/xoa/ex_3_1.ma
new file mode 100644 (file)
index 0000000..f5c3671
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (3, 1) *)
+
+notation > "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex (λ${ident x0}.$P0) (λ${ident x0}.$P1) (λ${ident x0}.$P2) }.
+
+notation < "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex (λ${ident x0}:$T0.$P0) (λ${ident x0}:$T0.$P1) (λ${ident x0}:$T0.$P2) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_3_2.ma b/matita/matita/lib/lambda/notation/xoa/ex_3_2.ma
new file mode 100644 (file)
index 0000000..8ca34d3
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (3, 2) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) (λ${ident x0}.λ${ident x1}.$P2) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P2) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_3_3.ma b/matita/matita/lib/lambda/notation/xoa/ex_3_3.ma
new file mode 100644 (file)
index 0000000..6287d1a
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (3, 3) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P2) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P2) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_3_4.ma b/matita/matita/lib/lambda/notation/xoa/ex_3_4.ma
new file mode 100644 (file)
index 0000000..5f34348
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (3, 4) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 , ident x3 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex4 (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.λ${ident x3}.$P2) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 , ident x3 break . term 19 P0 break & term 19 P1 break & term 19 P2)"
+ non associative with precedence 20
+ for @{ 'Ex4 (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.λ${ident x3}:$T3.$P2) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_4_1.ma b/matita/matita/lib/lambda/notation/xoa/ex_4_1.ma
new file mode 100644 (file)
index 0000000..75ac29f
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (4, 1) *)
+
+notation > "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex (λ${ident x0}.$P0) (λ${ident x0}.$P1) (λ${ident x0}.$P2) (λ${ident x0}.$P3) }.
+
+notation < "hvbox(∃∃ ident x0 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex (λ${ident x0}:$T0.$P0) (λ${ident x0}:$T0.$P1) (λ${ident x0}:$T0.$P2) (λ${ident x0}:$T0.$P3) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_4_2.ma b/matita/matita/lib/lambda/notation/xoa/ex_4_2.ma
new file mode 100644 (file)
index 0000000..e8a6e96
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (4, 2) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}.λ${ident x1}.$P0) (λ${ident x0}.λ${ident x1}.$P1) (λ${ident x0}.λ${ident x1}.$P2) (λ${ident x0}.λ${ident x1}.$P3) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex2 (λ${ident x0}:$T0.λ${ident x1}:$T1.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P2) (λ${ident x0}:$T0.λ${ident x1}:$T1.$P3) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/ex_4_3.ma b/matita/matita/lib/lambda/notation/xoa/ex_4_3.ma
new file mode 100644 (file)
index 0000000..2d52220
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple existental quantifier (4, 3) *)
+
+notation > "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P0) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P1) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P2) (λ${ident x0}.λ${ident x1}.λ${ident x2}.$P3) }.
+
+notation < "hvbox(∃∃ ident x0 , ident x1 , ident x2 break . term 19 P0 break & term 19 P1 break & term 19 P2 break & term 19 P3)"
+ non associative with precedence 20
+ for @{ 'Ex3 (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P0) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P1) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P2) (λ${ident x0}:$T0.λ${ident x1}:$T1.λ${ident x2}:$T2.$P3) }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/false_0.ma b/matita/matita/lib/lambda/notation/xoa/false_0.ma
new file mode 100644 (file)
index 0000000..09b27fb
--- /dev/null
@@ -0,0 +1,18 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: this should go to core_notation *)
+notation "⊥"
+  non associative with precedence 90
+  for @{'false}.
diff --git a/matita/matita/lib/lambda/notation/xoa/or_3.ma b/matita/matita/lib/lambda/notation/xoa/or_3.ma
new file mode 100644 (file)
index 0000000..3f82654
--- /dev/null
@@ -0,0 +1,22 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+(* multiple disjunction connective (3) *)
+
+notation "hvbox(∨∨ term 29 P0 break | term 29 P1 break | term 29 P2)"
+ non associative with precedence 30
+ for @{ 'Or $P0 $P1 $P2 }.
+
diff --git a/matita/matita/lib/lambda/notation/xoa/true_0.ma b/matita/matita/lib/lambda/notation/xoa/true_0.ma
new file mode 100644 (file)
index 0000000..e7a5a0d
--- /dev/null
@@ -0,0 +1,18 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* Note: this should go to core_notation *)
+notation "⊤"
+  non associative with precedence 90
+  for @{'true}.
index 85874e21cdf6a8d430adbc6422d5d63867591446..a9cc98f0978323866af765ffbcfea83d3524a800 100644 (file)
@@ -15,6 +15,8 @@
 include "lambda/paths/standard_trace.ma".
 include "lambda/paths/labeled_sequential_computation.ma".
 
+include "lambda/notation/relations/decomposedstd_2.ma".
+
 (* DECOMPOSED STANDARD COMPUTATION ***********************************************)
 
 (* Note: this is the "standard" computation of:
@@ -29,10 +31,6 @@ inductive dst: relation term ≝
 interpretation "decomposed standard computation"
     'DecomposedStd M N = (dst M N).
 
-notation "hvbox( M break ⓢ↦* term 46 N )"
-   non associative with precedence 45
-   for @{ 'DecomposedStd $M $N }.
-
 lemma dst_inv_lref: ∀M,N. M ⓢ↦* N → ∀j. #j = N →
                     ∃∃s. is_whd s & M ↦*[s] #j.
 #M #N * -M -N
index db94f26ba33ba7adb509d45bd78e6b2ac84d6d46..a4a387ca6f7e3da50487ff50ec305723f250dc67 100644 (file)
@@ -16,6 +16,8 @@ include "lambda/terms/labeled_sequential_computation.ma".
 include "lambda/paths/trace.ma".
 include "lambda/paths/labeled_sequential_reduction.ma".
 
+include "lambda/notation/relations/seqredstar_3.ma".
+
 (* PATH-LABELED SEQUENTIAL COMPUTATION (MULTISTEP) *******************************)
 
 (* Note: lstar shuld be replaced by l_sreds *)
index 8e9d693b6013e413291a74e03cc3ee8853b6ffec..5f0123e919dab84a8f05724e63fb85f922174d5a 100644 (file)
 include "lambda/paths/path.ma".
 include "lambda/terms/sequential_reduction.ma".
 
+include "lambda/notation/relations/seqred_3.ma".
+
+include "lambda/xoa/ex_2_2.ma".
+
 (* PATH-LABELED SEQUENTIAL REDUCTION (SINGLE STEP) **************************)
 
 inductive pl_sred: path → relation term ≝
index a9c19fbb1019f9c9410d04ea6f204bc11a785f48..a72dae7b9168ab3854b98a9929e69137a802d77a 100644 (file)
@@ -16,6 +16,10 @@ include "lambda/paths/standard_trace.ma".
 include "lambda/paths/labeled_sequential_computation.ma".
 include "lambda/paths/labeled_st_reduction.ma".
 
+include "lambda/notation/relations/stdstar_3.ma".
+
+include "lambda/xoa/ex_2_3.ma".
+
 (* PATH-LABELED STANDARD COMPUTATION (MULTISTEP) ****************************)
 
 (* Note: lstar shuld be replaced by l_sreds *)
@@ -24,10 +28,6 @@ definition pl_sts: trace → relation subterms ≝ lstar … pl_st.
 interpretation "path-labeled standard reduction"
     'StdStar F p G = (pl_sts p F G).
 
-notation "hvbox( F break Ⓡ ↦* [ term 46 p ] break term 46 G )"
-   non associative with precedence 45
-   for @{ 'StdStar $F $p $G }.
-
 lemma pl_sts_fwd_pl_sreds: ∀s,F1,F2. F1 Ⓡ↦*[s] F2 → ⇓F1 ↦*[s] ⇓F2.
 #s #F1 #F2 #H @(lstar_ind_r … s F2 H) -s -F2 //
 #p #s #F #F2 #_ #HF2 #IHF1
index 7e8c1578cf08af3844ebcc415ab563edf882d562..60e2c28f8df4c9e2919bb5060a1adb7739c4e8a4 100644 (file)
@@ -16,6 +16,11 @@ include "lambda/subterms/booleanized.ma".
 include "lambda/paths/labeled_sequential_reduction.ma".
 include "lambda/paths/standard_order.ma".
 
+include "lambda/notation/relations/std_3.ma".
+
+include "lambda/xoa/ex_4_1.ma".
+include "lambda/xoa/ex_3_4.ma".
+
 (* PATH-LABELED STANDARD REDUCTION ON SUBTERMS (SINGLE STEP) ****************)
 
 (* Note: this is standard reduction on marked redexes,
@@ -31,10 +36,6 @@ inductive pl_st: path → relation subterms ≝
 interpretation "path-labeled standard reduction"
     'Std F p G = (pl_st p F G).
 
-notation "hvbox( F break Ⓡ ↦ [ term 46 p ] break term 46 G )"
-   non associative with precedence 45
-   for @{ 'Std $F $p $G }.
-
 lemma pl_st_fwd_pl_sred: ∀p,F1,F2. F1 Ⓡ↦[p] F2 → ⇓F1 ↦[p] ⇓F2.
 #p #F1 #F2 #H elim H -p -F1 -F2 normalize /2 width=1/
 qed-.
index cd61cb2235b4d2e0126438351c39de0fff355b7b..4a66c5e6eefeea731e6f9dea3d67eced7d282f9b 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/paths/path.ma".
 
+include "lambda/notation/relations/prec_2.ma".
+
 (* STANDARD PRECEDENCE ******************************************************)
 
 (* Note: standard precedence relation on paths: p ≺ q
index 66447a3bb29b49febcbf790ef5cd1ada2d8cf3da..566bfb0a3f976d2fd6680eaa2f2524e6a9c40528 100644 (file)
 
 include "lambda/subterms/carrier.ma".
 
+include "lambda/notation/functions/projectup_2.ma".
+
+include "lambda/xoa/ex_3_1.ma".
+include "lambda/xoa/ex_4_2.ma".
+
 (* BOOLEAN (EMPTY OR FULL) SUBSET *******************************************)
 
 let rec boolean b M on M ≝ match M with
@@ -25,10 +30,6 @@ let rec boolean b M on M ≝ match M with
 interpretation "boolean subset (subterms)"
    'ProjectUp b M = (boolean b M).
 
-notation "hvbox( { term 46 b } ⇑ break term 46 M)"
-   non associative with precedence 46
-   for @{ 'ProjectUp $b $M }.
-
 lemma boolean_inv_vref: ∀j,c,b,M. {b}⇑ M = {c}#j → b = c ∧ M = #j.
 #j #c #b * normalize
 [ #i #H destruct /2 width=1/
index d247ee73f41e19e1e050823c2fd3e1fafafe1dbd..cc6f1e9806db60c74fc3c9d394e0e708ff8f1799 100644 (file)
 
 include "lambda/subterms/boolean.ma".
 
+include "lambda/notation/functions/projectsame_2.ma".
+
+include "lambda/xoa/ex_4_3.ma".
+
 (* BOOLEANIZED SUBSET (EMPTY OR FULL) ***************************************)
 
 definition booleanized: bool → subterms → subterms ≝
@@ -22,10 +26,6 @@ definition booleanized: bool → subterms → subterms ≝
 interpretation "booleanized (subterms)"
    'ProjectSame b F = (booleanized b F).
 
-notation "hvbox( { term 46 b } ⇕ break term 46 F)"
-   non associative with precedence 46
-   for @{ 'ProjectSame $b $F }.
-
 lemma booleanized_inv_vref: ∀j,c,b,F. {b}⇕ F = {c}#j →
                             ∃∃b1. b = c & F = {b1}#j.
 #j #c #b #F #H
index a15e11180958d5333974bdd4c13483513dbade25..3f4c0499181fa17b33cc40284fb184772c443677 100644 (file)
 include "lambda/terms/relocating_substitution.ma".
 include "lambda/subterms/relocating_substitution.ma".
 
+include "lambda/notation/functions/projectdown_1.ma".
+
+include "lambda/xoa/ex_2_2.ma".
+
 (* CARRIER (UNDERLYING TERM) ************************************************)
 
 let rec carrier F on F ≝ match F with
@@ -26,10 +30,6 @@ let rec carrier F on F ≝ match F with
 interpretation "carrier (subterms)"
    'ProjectDown F = (carrier F).
 
-notation "hvbox(⇓ term 46 F)"
-   non associative with precedence 46
-   for @{ 'ProjectDown $F }.
-
 lemma carrier_inv_vref: ∀j,F. ⇓F = #j → ∃b. F = {b}#j.
 #j * normalize
 [ #b #i #H destruct /2 width=2/
index 6d7fad31484023472b4adb55c6a9944a95fdaf14..9f803e74caefb438af2888d13d4b2e8d1bbe7729 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/subterms/relocation.ma".
 
+include "lambda/notation/functions/dsubst_3.ma".
+
 (* RELOCATING SUBSTITUTION **************************************************)
 
 (* Policy: depth (level) metavariables: d, e (as for lift) *)
index 99c8ded5ad67c951e0a79247e7f6f8e41ffe5467..086e8223a015aef9b6a9bd39c4c958573d024964 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/subterms/subterms.ma".
 
+include "lambda/notation/functions/lift_3.ma".
+
 (* RELOCATION FOR SUBTERMS **************************************************)
 
 let rec slift h d E on E ≝ match E with
index c4ec383b5765c6d7b2a98c007fa3533c9f2a99c7..acfcde6a435fa52d2be754d9250be36f4f2e558a 100644 (file)
 
 include "lambda/background/preamble.ma".
 
+include "lambda/notation/functions/variablereferencebyindex_2.ma".
+include "lambda/notation/functions/abstraction_2.ma".
+include "lambda/notation/functions/application_3.ma".
+
 (* SUBSETS OF SUBTERMS ******************************************************)
 
 (* Policy: boolean marks metavariables: b,c
index a4aa4f46f8e0650df3fd1fe57ddaea437833e7e7..2d05dc422a82518d9ccf27c09aba5be02aba7680 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/term.ma".
 
+include "lambda/notation/functions/annotatedabstraction_2.ma".
+
 (* ITERATED ABSTRACTION *****************************************************)
 
 let rec abst d M on d ≝ match d with
index 737ce634bc9e287d8ceb2136be9057a54fdb6e3a..ebe35502d904c6263f037437c3d997fd0211a0f2 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/relocating_substitution.ma".
 
+include "lambda/notation/functions/multiplicity_1.ma".
+
 (* MULTIPLICITY *************************************************************)
 
 (* Note: this gives the number of variable references in M *)
@@ -26,10 +28,6 @@ let rec mult M on M ≝ match M with
 interpretation "term multiplicity"
    'Multiplicity M = (mult M).
 
-notation "hvbox( ♯{ term 46 M } )"
-   non associative with precedence 90
-   for @{ 'Multiplicity $M }.
-
 lemma mult_positive: ∀M. 0 < ♯{M}.
 #M elim M -M // /2 width=1/
 qed.
index cd27b3c30b79fc4daadb9b33a58a65c8d15abc58..932eecf98800e7386fa79ec38ae13596393f524a 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/parallel_reduction.ma".
 
+include "lambda/notation/relations/parredstar_2.ma".
+
 (* PARALLEL COMPUTATION (MULTISTEP) *****************************************)
 
 definition preds: relation term ≝ star … pred.
index b2d2c2ff9ec8cecbe1aff9e1cd7af37b269b9ea3..17313b537ab2c9864f188f10b51a54b2c32179c2 100644 (file)
 include "lambda/terms/size.ma".
 include "lambda/terms/sequential_reduction.ma".
 
+include "lambda/notation/relations/parred_2.ma".
+
+include "lambda/xoa/ex_4_3.ma".
+
 (* PARALLEL REDUCTION (SINGLE STEP) *****************************************)
 
 (* Note: the application "(A B)" is represented by "@B.A"
index 826c458d70ed7753c83b637d537f0c134a636c1e..cf0bed4e8845efc320128eeeda8d57f549cebc01 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/relocation.ma".
 
+include "lambda/notation/functions/dsubst_3.ma".
+
 (* RELOCATING SUBSTITUTION **************************************************)
 
 (* Policy: depth (level) metavariables: d, e (as for lift) *)
index 3d42e8a5c7006555befa4cd55751b4c93b369b34..dffa5b4d587b90a1e45969374fb665bd75803d25 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/term.ma".
 
+include "lambda/notation/functions/lift_3.ma".
+
 (* RELOCATION ***************************************************************)
 
 (* Policy: level metavariables : d, e
index 717a7602ab6f82e72e03de5ed8b6e1a55daf9423..8b32acd8add9b83cd0016b901597064030751ee3 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/parallel_computation.ma".
 
+include "lambda/notation/relations/seqredstar_2.ma".
+
 (* SEQUENTIAL COMPUTATION (MULTISTEP) ***************************************)
 
 definition sreds: relation term ≝ star … sred.
index f1a6bfaf8c24572142e34e463af6f6a8a5ea1c30..ab5fd39dc1ccf8605b6f80300c40c362f3fe3a75 100644 (file)
@@ -14,6 +14,8 @@
 
 include "lambda/terms/multiplicity.ma".
 
+include "lambda/notation/relations/seqred_2.ma".
+
 (* SEQUENTIAL REDUCTION (SINGLE STEP) ***************************************)
 
 (* Note: the application "(A B)" is represented by "@B.A" following:
index 9db0fffa8e93f7320eec6fa0acc85fd9ec099afb..5eefe2a57682bb9c4d6ff0c744b52a5d918ede31 100644 (file)
 
 include "lambda/background/preamble.ma".
 
+include "lambda/notation/functions/variablereferencebyindex_1.ma".
+include "lambda/notation/functions/abstraction_1.ma".
+include "lambda/notation/functions/application_2.ma".
+
 (* TERM STRUCTURE ***********************************************************)
 
 (* Policy: term metavariables : A, B, C, D, M, N
index 2d188536db4145ea0298f2bbc8b159c078b1379d..817c86e7b1c8ed2337d75cabdc2955edf7568f97 100644 (file)
@@ -1,12 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <helm_registry>
-  <section name="matita">
-    <key name="rt_base_dir">$(MATITA_RT_BASE_DIR)</key>
-  </section>
   <section name="xoa">
-    <key name="output_dir">lib/</key>
-    <key name="objects">lambda/background/xoa</key>
-    <key name="notations">lambda/background/xoa_notation</key>
+    <key name="output_dir">..</key>
+    <key name="objects">lambda/xoa</key>
+    <key name="notations">lambda/notation/xoa</key>
     <key name="include">basics/pts.ma</key>
     <key name="ex">1 2</key>
     <key name="ex">2 2</key>
diff --git a/matita/matita/lib/lambda/xoa/ex_1_2.ma b/matita/matita/lib/lambda/xoa/ex_1_2.ma
new file mode 100644 (file)
index 0000000..2ef4d92
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_1_2.ma".
+
+(* multiple existental quantifier (1, 2) *)
+
+inductive ex1_2 (A0,A1:Type[0]) (P0:A0→A1→Prop) : Prop ≝
+   | ex1_2_intro: ∀x0,x1. P0 x0 x1 → ex1_2 ? ? ?
+.
+
+interpretation "multiple existental quantifier (1, 2)" 'Ex2 P0 = (ex1_2 ? ? P0).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_2_2.ma b/matita/matita/lib/lambda/xoa/ex_2_2.ma
new file mode 100644 (file)
index 0000000..f9eb911
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_2_2.ma".
+
+(* multiple existental quantifier (2, 2) *)
+
+inductive ex2_2 (A0,A1:Type[0]) (P0,P1:A0→A1→Prop) : Prop ≝
+   | ex2_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → ex2_2 ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (2, 2)" 'Ex2 P0 P1 = (ex2_2 ? ? P0 P1).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_2_3.ma b/matita/matita/lib/lambda/xoa/ex_2_3.ma
new file mode 100644 (file)
index 0000000..fc16c6f
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_2_3.ma".
+
+(* multiple existental quantifier (2, 3) *)
+
+inductive ex2_3 (A0,A1,A2:Type[0]) (P0,P1:A0→A1→A2→Prop) : Prop ≝
+   | ex2_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → ex2_3 ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (2, 3)" 'Ex3 P0 P1 = (ex2_3 ? ? ? P0 P1).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_3_1.ma b/matita/matita/lib/lambda/xoa/ex_3_1.ma
new file mode 100644 (file)
index 0000000..0655bc8
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_3_1.ma".
+
+(* multiple existental quantifier (3, 1) *)
+
+inductive ex3 (A0:Type[0]) (P0,P1,P2:A0→Prop) : Prop ≝
+   | ex3_intro: ∀x0. P0 x0 → P1 x0 → P2 x0 → ex3 ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (3, 1)" 'Ex P0 P1 P2 = (ex3 ? P0 P1 P2).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_3_2.ma b/matita/matita/lib/lambda/xoa/ex_3_2.ma
new file mode 100644 (file)
index 0000000..244b9c8
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_3_2.ma".
+
+(* multiple existental quantifier (3, 2) *)
+
+inductive ex3_2 (A0,A1:Type[0]) (P0,P1,P2:A0→A1→Prop) : Prop ≝
+   | ex3_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → P2 x0 x1 → ex3_2 ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (3, 2)" 'Ex2 P0 P1 P2 = (ex3_2 ? ? P0 P1 P2).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_3_3.ma b/matita/matita/lib/lambda/xoa/ex_3_3.ma
new file mode 100644 (file)
index 0000000..b12de65
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_3_3.ma".
+
+(* multiple existental quantifier (3, 3) *)
+
+inductive ex3_3 (A0,A1,A2:Type[0]) (P0,P1,P2:A0→A1→A2→Prop) : Prop ≝
+   | ex3_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → P2 x0 x1 x2 → ex3_3 ? ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (3, 3)" 'Ex3 P0 P1 P2 = (ex3_3 ? ? ? P0 P1 P2).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_3_4.ma b/matita/matita/lib/lambda/xoa/ex_3_4.ma
new file mode 100644 (file)
index 0000000..4d915a4
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_3_4.ma".
+
+(* multiple existental quantifier (3, 4) *)
+
+inductive ex3_4 (A0,A1,A2,A3:Type[0]) (P0,P1,P2:A0→A1→A2→A3→Prop) : Prop ≝
+   | ex3_4_intro: ∀x0,x1,x2,x3. P0 x0 x1 x2 x3 → P1 x0 x1 x2 x3 → P2 x0 x1 x2 x3 → ex3_4 ? ? ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (3, 4)" 'Ex4 P0 P1 P2 = (ex3_4 ? ? ? ? P0 P1 P2).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_4_1.ma b/matita/matita/lib/lambda/xoa/ex_4_1.ma
new file mode 100644 (file)
index 0000000..b06fa54
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_4_1.ma".
+
+(* multiple existental quantifier (4, 1) *)
+
+inductive ex4 (A0:Type[0]) (P0,P1,P2,P3:A0→Prop) : Prop ≝
+   | ex4_intro: ∀x0. P0 x0 → P1 x0 → P2 x0 → P3 x0 → ex4 ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (4, 1)" 'Ex P0 P1 P2 P3 = (ex4 ? P0 P1 P2 P3).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_4_2.ma b/matita/matita/lib/lambda/xoa/ex_4_2.ma
new file mode 100644 (file)
index 0000000..0bc7ec5
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_4_2.ma".
+
+(* multiple existental quantifier (4, 2) *)
+
+inductive ex4_2 (A0,A1:Type[0]) (P0,P1,P2,P3:A0→A1→Prop) : Prop ≝
+   | ex4_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → P2 x0 x1 → P3 x0 x1 → ex4_2 ? ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (4, 2)" 'Ex2 P0 P1 P2 P3 = (ex4_2 ? ? P0 P1 P2 P3).
+
diff --git a/matita/matita/lib/lambda/xoa/ex_4_3.ma b/matita/matita/lib/lambda/xoa/ex_4_3.ma
new file mode 100644 (file)
index 0000000..a422900
--- /dev/null
@@ -0,0 +1,28 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/ex_4_3.ma".
+
+(* multiple existental quantifier (4, 3) *)
+
+inductive ex4_3 (A0,A1,A2:Type[0]) (P0,P1,P2,P3:A0→A1→A2→Prop) : Prop ≝
+   | ex4_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → P2 x0 x1 x2 → P3 x0 x1 x2 → ex4_3 ? ? ? ? ? ? ?
+.
+
+interpretation "multiple existental quantifier (4, 3)" 'Ex3 P0 P1 P2 P3 = (ex4_3 ? ? ? P0 P1 P2 P3).
+
diff --git a/matita/matita/lib/lambda/xoa/or_3.ma b/matita/matita/lib/lambda/xoa/or_3.ma
new file mode 100644 (file)
index 0000000..f949c27
--- /dev/null
@@ -0,0 +1,30 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was generated by xoa.native: do not edit *********************)
+
+include "basics/pts.ma".
+
+include "lambda/notation/xoa/or_3.ma".
+
+(* multiple disjunction connective (3) *)
+
+inductive or3 (P0,P1,P2:Prop) : Prop ≝
+   | or3_intro0: P0 → or3 ? ? ?
+   | or3_intro1: P1 → or3 ? ? ?
+   | or3_intro2: P2 → or3 ? ? ?
+.
+
+interpretation "multiple disjunction connective (3)" 'Or P0 P1 P2 = (or3 P0 P1 P2).
+