1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 set "baseuri" "cic:/matita/RELATIONAL/NPlusList/defs".
17 include "datatypes/List.ma".
18 include "NPlus/defs.ma".
21 inductive NPlusList: (List Nat) \to Nat \to Prop \def
22 | nplus_nil: NPlusList (nil ?) zero
23 | nplus_cons: \forall l,p,q,r.
24 NPlusList l p \to NPlus p q r \to NPlusList (cons ? l q) r
27 definition NPlusListEq: (List Nat) \to (List Nat) \to Prop \def
28 \lambda ns1,ns2. \exists n. NPlusList ns1 n \land NPlusList ns2 n.
31 (*CSC: the URI must disappear: there is a bug now *)
32 interpretation "ternary natural plus predicate" 'rel_plus3 x y z =
33 (cic:/matita/RELATIONAL/NPlus/defs/NPlus3.con w x y z).
35 notation "hvbox(a break + b break + c == d)"
36 non associative with precedence 95
37 for @{ 'rel_plus3 $a $b $c $d}.