]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambda/xoa.ma
- nat.ma: we added a general induction principle
[helm.git] / matita / matita / contribs / lambda / xoa.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was generated by xoa.native: do not edit *********************)
16
17 include "basics/pts.ma".
18
19 (* multiple existental quantifier (2, 1) *)
20
21 inductive ex2_1 (A0:Type[0]) (P0,P1:A0→Prop) : Prop ≝
22    | ex2_1_intro: ∀x0. P0 x0 → P1 x0 → ex2_1 ? ? ?
23 .
24
25 interpretation "multiple existental quantifier (2, 1)" 'Ex P0 P1 = (ex2_1 ? P0 P1).
26
27 (* multiple existental quantifier (3, 2) *)
28
29 inductive ex3_2 (A0,A1:Type[0]) (P0,P1,P2:A0→A1→Prop) : Prop ≝
30    | ex3_2_intro: ∀x0,x1. P0 x0 x1 → P1 x0 x1 → P2 x0 x1 → ex3_2 ? ? ? ? ?
31 .
32
33 interpretation "multiple existental quantifier (3, 2)" 'Ex P0 P1 P2 = (ex3_2 ? ? P0 P1 P2).
34
35 (* multiple existental quantifier (4, 3) *)
36
37 inductive ex4_3 (A0,A1,A2:Type[0]) (P0,P1,P2,P3:A0→A1→A2→Prop) : Prop ≝
38    | ex4_3_intro: ∀x0,x1,x2. P0 x0 x1 x2 → P1 x0 x1 x2 → P2 x0 x1 x2 → P3 x0 x1 x2 → ex4_3 ? ? ? ? ? ? ?
39 .
40
41 interpretation "multiple existental quantifier (4, 3)" 'Ex P0 P1 P2 P3 = (ex4_3 ? ? ? P0 P1 P2 P3).
42
43 (* multiple disjunction connective (3) *)
44
45 inductive or3 (P0,P1,P2:Prop) : Prop ≝
46    | or3_intro0: P0 → or3 ? ? ?
47    | or3_intro1: P1 → or3 ? ? ?
48    | or3_intro2: P2 → or3 ? ? ?
49 .
50
51 interpretation "multiple disjunction connective (3)" 'Or P0 P1 P2 = (or3 P0 P1 P2).
52