This invited paper is a passionate pitch for the significance of logic in scientific education. Logic helps focus on the essential core to identify the foundations of ideas and provides corresponding longevity with the resulting approach to new and old problems. Logic operates symbolically, where each part has a precise meaning and the meaning of the whole is compositional, so a simple function of the meaning of the pieces. This compositionality in the meaning of logical operators is the basis for compositionality in reasoning about logical operators. Both semantic and deductive compositionalities help explain what happens in reasoning. The correctness-critical core of an idea or an algorithm is often expressible eloquently and particularly concisely in logic. The opinions voiced in this paper are influenced by the author's teaching of courses on cyber-physical systems, constructive logic, compiler design, programming language semantics, and imperative programming principles. In each of those courses, different aspects of logic come up for different purposes to elucidate significant ideas particularly clearly. While there is a bias of the thoughts in this paper toward computer science, some courses have been heavily frequented by students from other majors so that some transfer of the thoughts to other science and engineering disciplines is plausible.
翻译:这篇特邀论文热情洋溢地阐述了逻辑在科学教育中的重要性。逻辑有助于聚焦核心本质,厘清思想基础,并为处理新旧问题的方法提供相应的持久性。逻辑以符号化方式运作,其中每个部分都具有精确含义,而整体的意义是组合性的——即各部分意义的简单函数。逻辑运算符意义的这种组合性,构成了推理过程中运算符组合性的基础。语义组合性与演绎组合性共同帮助解释推理过程中的内在机制。思想或算法中关乎正确性的核心内容,往往能够通过逻辑进行精辟且特别简洁的表达。本文观点深受作者在信息物理系统、构造性逻辑、编译器设计、编程语言语义学及命令式编程原理等课程教学经验的影响。在这些课程中,逻辑的不同层面出于不同目的得以呈现,从而特别清晰地阐明了重要思想。虽然本文思想存在偏向计算机科学的倾向,但部分课程吸引了大量其他专业学生参与,因此这些思想向其他科学与工程领域的迁移具有现实可能性。