X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Ftutorial%2Fchapter13.ma;h=c8620fcfd27c478fbd2bf0b92a4883db5bcce6ef;hb=6c15dd2d7c372dc163c24e96bf56376c5bcb5a6c;hp=3ff16855e67af8e6aeff2641480cebeb2ee79cad;hpb=886d7c4b7a21b4ca8f148d42555a5d89e8222fc8;p=helm.git diff --git a/matita/matita/lib/tutorial/chapter13.ma b/matita/matita/lib/tutorial/chapter13.ma index 3ff16855e..c8620fcfd 100644 --- a/matita/matita/lib/tutorial/chapter13.ma +++ b/matita/matita/lib/tutorial/chapter13.ma @@ -3,7 +3,7 @@ Coinductive Types and Predicates *) include "basics/lists/list.ma". -include "chapter12.ma". +include "tutorial/chapter12.ma". (* The only primitive data types of Matita are dependent products and universes. So far every other user defined data type has been an inductive type. An @@ -104,8 +104,7 @@ coercion R_to_fun : ∀r:R. ℕ → Q ≝ r on _r:R to ?. (* Adding two real numbers just requires pointwise addition of the approximations. The proof that the resulting sequence is Cauchy is the standard one: to obtain an approximation up to eps it is necessary to approximate both - summands up to eps/2. The proof that the function is well defined w.r.t. the - omitted equivalence relation is also omitted. *) + summands up to eps/2. *) definition Rplus_: R_ → R_ → R_ ≝ λr1,r2. mk_R_ (λn. r1 n + r2 n) …. #eps @@ -156,7 +155,7 @@ record div_trace: Type[0] ≝ ; div_well_formed: ∀n. next (div_tr n) (div_tr (S n)) }. -(* The previous definition of trace is not very computable: we cannot write +(* The previous definition of trace is not computable: we cannot write a program that given an initial state returns its trace. To write that function, we first write a computable version of next, called step. *) definition step: state → option state ≝