Posted on Categories:Discrete Mathematics, 数学代写, 离散数学

数学代写|离散数学代写Discrete Mathematics代考|MATH271 Decision Procedures, Proof Normalization

avatest™

avatest™帮您通过考试

avatest™的各个学科专家已帮了学生顺利通过达上千场考试。我们保证您快速准时完成各时长和类型的考试，包括in class、take home、online、proctor。写手整理各样的资源来或按照您学校的资料教您，创造模拟试题，提供所有的问题例子，以保证您在真实考试中取得的通过率是85%以上。如果您有即将到来的每周、季考、期中或期末考试，我们都能帮助您！

•最快12小时交付

•200+ 英语母语导师

•70分以下全额退款

数学代写|离散数学代写Discrete Mathematics代考|Decision Procedures, Proof Normalization

In the previous sections we saw how the rules of mathematical reasoning can be formalized in various natural deduction systems and we defined a precise notion of proof. We observed that finding a proof for a given proposition was not a simple matter, nor was it to acertain that a proposition is unprovable. Thus, it is natural to ask the following question.

The Decision Problem: Is there a general procedure that takes any arbitrary proposition $P$ as input, always terminates in a finite number of steps, and tells us whether $P$ is provable?

Clearly, it would be very nice if such a procedure existed, especially if it also produced a proof of $P$ when $P$ is provable.

Unfortunately, for rich enough languages, such as first-order logic (discussed in Section 11.15) it is impossible to find such a procedure. This deep result known as the undecidability of the decision problem or Church’s theorem was proven by A. Church in 1936 (actually, Church proved the undecidability of the validity problem but, by Gödel’s completeness theorem, validity and provability are equivalent).
Proving Church’s theorem is hard and a lot of work. One needs to develop a good deal of what is called the theory of computation. This involves defining models of computation such as Turing machines and proving other deep results such as the undecidability of the halting problem and the undecidability of the Post correspondence problem, among other things; see Hopcroft, Motwani, and Ullman [13] and Lewis and Papadimitriou [17].

So our hopes to find a “universal theorem prover” are crushed. However, if we restrict ourselves to propositional logic, classical or intuitionistic, it turns out that procedures solving the decision problem do exist and they even produce a proof of the input proposition when that proposition is provable.

数学代写|离散数学代写Discrete Mathematics代考|The Simply-Typed l-Calculus

First we need to define the simply-typed $\lambda$-calculus and the first step is to define simple types. We assume that we have a countable set $\left{\mathbf{T}_0, \mathbf{T}_1, \ldots, \mathbf{T}_n, \ldots\right}$ of base types (or atomic types). For example, the base types may include types such as Nat for the natural numbers, Bool for the booleans, String for strings, Tree for trees, etc. In the Curry-Howard isomorphism, they correspond to the propositional symbols $\left{\mathbf{P}_0, \mathbf{P}_1, \ldots, \mathbf{P}_n, \ldots\right}$.
Definition 11.9. The simple types $\sigma$ are defined inductively as follows:
(1) If $\mathbf{T}_i$ is a base type, then $\mathbf{T}_i$ is a simple type.
(2) If $\sigma$ and $\tau$ are simple types, then $(\sigma \rightarrow \tau)$ is a simple type.
Thus $\left(\mathbf{T}_1 \rightarrow \mathbf{T}_1\right),\left(\mathbf{T}_1 \rightarrow\left(\mathbf{T}_2 \rightarrow \mathbf{T}_1\right)\right)\left(\left(\mathbf{T}_1 \rightarrow \mathbf{T}_2\right) \rightarrow \mathbf{T}_1\right)$, are simple types.
The standard abbreviation for $\left(\sigma_1 \rightarrow\left(\sigma_2 \rightarrow\left(\cdots \rightarrow \sigma_n\right)\right)\right)$ is $\sigma_1 \rightarrow \sigma_2 \rightarrow \cdots \rightarrow \sigma_n$. There is obviously a bijection between propositions and simple types. Every propositional symbol $\mathbf{P}_i$ can be viewed as a base type, and the proposition $(P \Rightarrow Q)$ corresponds to the simple type $(P \rightarrow Q)$. The only difference is that the custom is to use $\Rightarrow$ to denote logical implication and $\rightarrow$ for simple types. The reason is that intuitively a simple type $(\sigma \rightarrow \tau)$ corresponds to a set of functions from a domain of type $\sigma$ to a range of type $\tau$.

The next crucial step is to define simply-typed $\lambda$-terms. This is done in two stages. First we define raw simply-typed $\lambda$-terms. They have a simple inductive definition but they do not necessarily type-check so we define some type-checking rules that turn out to be the Gentzen-style deduction proof rules annotated with simply-typed $\lambda$-terms. These simply-typed $\lambda$-terms are representations of natural deductions.

We have a countable set of variables $\left{x_0, x_1, \ldots, x_n \ldots\right}$ that correspond to the atomic raw $\lambda$-terms. These are also the variables that are used for tagging assumptions when constructing deductions.

数学代写|离散数学代写Discrete Mathematics代考|The Simply-Typed L-Calculus

\left 缺少或无法识别的分隔符

（1）如果 $\mathbf{T}_i$ 是基类型，那么 $\mathbf{T}_i$ 是一个简单的类型。
(2) 如果 $\sigma$ 和 $\tau$ 是简单类型，那么 $(\sigma \rightarrow \tau)$ 是一个简单的类型。

MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。