Coq
文章平均质量分 85
NRbene
这个作者很懒,什么都没留下…
展开
-
【coq】函数语言设计 练习题poly 总结
Poly多态列表使用多态实现 list 的各种函数,包括: repeat, app, rev, length,app 性质 rev 性质 pair combine 两个 list 合并成 pair 的 list split 一个( x,y )的 list 拆成 一个容纳 list 的 pair filter 对 lis原创 2021-12-30 17:59:42 · 1216 阅读 · 0 评论 -
【coq】函数语言设计 练习题tatcis&logics 总结
常用查询命令CheckPrintSearch tatics/ logics symmetry可以对称调整 goal applyinjection as递归定义者 且 单射常常处理 蕴含问题 ->补充:处理 蕴含 ** intros** , ** injection**injection H 没法使用 injection H as 几个单射,假设几个原创 2021-12-30 17:56:09 · 1300 阅读 · 0 评论 -
【coq】函数语言设计 练习题induction&lists 总结
induction 这一题如果直接写,非常麻烦 正确的做法先证明 经验总结:在遇到可重用的关键模块时,分离之。关于 nat plus 熟练证明交换律、分配律、结合律、零加定律 常用规律零加定律( n+0=n )( 0+n=n 是定义) 加法分配律变种 加法交换律 加法结合律其他单射性 下面和加法类似,不表零乘定律 乘法交原创 2021-12-30 17:41:59 · 530 阅读 · 0 评论 -
【coq】函数语言设计 笔记 11 - rel
Relations Basic Properties Reflexive, Transitive Closure relation properties 关系的性质 RelationA binary relation on a set X is a family of propositions parameterized by two elements of X – i.e..原创 2021-12-06 14:21:45 · 200 阅读 · 0 评论 -
【coq】函数语言设计 笔记 10 - indPriciples
Basics Polymorphism Induction Hypotheses More on the induction Tactic Induction Principles for Propositions Another Form of Induction Principles on Propositions (Optional) Formal vs. Informal Proofs by Induction Induction Over an原创 2021-12-06 14:10:10 · 2109 阅读 · 0 评论 -
【coq】函数语言设计 笔记 09 - proofObjects
The Curry-Howard Correspondence ( ProofObjects ) Proof Scripts Quantifiers, Implications, Functions Programming with Tactics Logical Connectives as Inductive Types Conjunction Disjunction Existential Quantification True原创 2021-12-02 15:01:51 · 1771 阅读 · 0 评论 -
【coq】函数语言设计 笔记 08 - maps
映射 -Total and Partial Maps ( Maps ) The Coq Standard Library Identifiers Total Maps Partial maps map 应用:状态表示、迁移, 状态机 两种 maptotal maps, which include ** a "default" element** to be returned when a key bein原创 2021-12-02 15:00:36 · 1784 阅读 · 0 评论 -
【coq】函数语言设计 笔记 07 - indProp
参考博客:https://www.cnblogs.com/TheFutureIsNow/p/11993851.htmlInductively Defined Propositions ( IndProp ) Inductively Defined Propositions Inductive Definition of Evenness Using Evidence in Proofs Inversion on Evidence Induction原创 2021-12-02 14:41:14 · 2511 阅读 · 0 评论 -
【coq】函数语言设计 笔记 06 -logic
参考博客:https://www.cnblogs.com/TheFutureIsNow/p/11993851.htmlCoq中的命题类型语句Coq是一种类型化语言,这意味着它的世界中的每个合理表达式都有一个相关的类型。逻辑声明也不例外,任何一个可以证明的语句都有一个类型,即Prop,命题类型。可以使用check命令查看这个类型:需要注意的是,任何符合命题语法定义的语句都是Prop类型的,不论它们是否成立命题Prop的构建方法:• 使用表达式• 使用已经定义的命题• 带参数的命题 Ch原创 2021-12-02 14:13:37 · 778 阅读 · 0 评论 -
【coq】函数语言设计 笔记 05 -tactics
参考博客:https://www.cnblogs.com/TheFutureIsNow/p/11963233.htmlMore Basic Tactics (Tactics)• The apply Tactic• The apply with Tactic• The injection and discriminate Tactics• Using Tactics on Hypotheses• Varying the Induction Hypothesis• Unfolding Def原创 2021-12-02 14:06:22 · 473 阅读 · 0 评论 -
【coq】函数语言设计 笔记 04 -poly
参考博客:https://www.cnblogs.com/TheFutureIsNow/p/11728913.html多态在前面所定义的链表中,链表的元素都是自然数,(或者PartitialMap中以一个二元元组为元素),但这些都存在着一个问题:所有类型的链表都在定义的都限制了链表的元素为某一个确定的类型,这样就不太灵活了,如果需要定义的链表类型比较多的话,那么就需要为每一种类型的链表单独写一段声明代码。比如,需要一个布尔类型的链表:为了避免这样的重复,coq提供了一种称为多态的声明机制:pol原创 2021-11-29 13:06:09 · 457 阅读 · 0 评论 -
【coq】函数语言设计 笔记 03 - list
参考博客 :https://www.cnblogs.com/TheFutureIsNow/p/11660548.html定义一个只有两个自然数类型成员的元组:Notation "( x , y )" := (pair x y).Compute (fst (3,5)).(* ===> 3 *)这里需要注意的是,在对于自然数(nat)类型的变量使用[destruct]关键字的时候是:destruct n as [| n’],而在这里对元组(natprod)使用[destruct]关键字原创 2021-11-29 13:00:03 · 260 阅读 · 0 评论 -
【coq】函数语言设计 笔记 02 - induction
参考博客:https://www.cnblogs.com/TheFutureIsNow/p/11574529.html在前面定义数据类型以及函数的时候有使用过Example语句来说明和证明数据的属性。所使用的证明方法都是一样的:使用关键字simpl来化简等式两边的表达式,然后再使用reflexivity来验证等式两边是否相等。此外,还可以使用proof by simplification类型的证明方法来证明一些别的属性,证明对所有自然数n,n+0=n:Theorem plus_O_n : foral原创 2021-11-23 10:46:10 · 535 阅读 · 0 评论 -
【coq】函数语言设计 笔记 01 - basics
coq-software-foundation learning notes一、Functional Programming in Coq (Basics)参考博客: https://www.cnblogs.com/TheFutureIsNow/p/11569756.html定义一个类型在coq中,一个变量的类型往往表示为 var_name : var_type,即变量名后面的一个冒号后是变量的类型Enumerated Types-枚举类型Inductive type_name : Typ原创 2021-11-22 14:38:15 · 393 阅读 · 0 评论