You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<spanid="chapter-logic"></span><h1><spanclass="section-number">3. </span>Foundations in Discrete Structures<aclass="headerlink" href="#foundations-in-discrete-structures" title="Link to this heading"></a></h1>
249
-
<divclass="admonition-todo admonition" id="id1">
250
-
<pclass="admonition-title">Todo</p>
251
-
<p>Under construction for spring 2026</p>
252
-
</div>
253
249
<sectionid="propositional-logic">
254
250
<h2><spanclass="section-number">3.1. </span>Propositional Logic<aclass="headerlink" href="#propositional-logic" title="Link to this heading"></a></h2>
255
251
<p>Propositional logic, also known as propositional calculus or boolean logic, is a branch of logic that deals with propositions and their combinations using logical connectives.</p>
@@ -305,8 +301,8 @@ <h3><span class="section-number">3.1.2. </span>Examples<a class="headerlink" hre
305
301
<sectionid="predicate-logic">
306
302
<h2><spanclass="section-number">3.2. </span>Predicate Logic<aclass="headerlink" href="#predicate-logic" title="Link to this heading"></a></h2>
307
303
<p>Predicate logic, also known as first-order logic, extends propositional logic by dealing with predicates and quantifiers. Unlike propositional logic, which operates on simple, unanalyzable propositions, predicate logic analyzes the internal structure of propositions.</p>
308
-
<sectionid="id2">
309
-
<h3><spanclass="section-number">3.2.1. </span>Key Concepts<aclass="headerlink" href="#id2" title="Link to this heading"></a></h3>
304
+
<sectionid="id1">
305
+
<h3><spanclass="section-number">3.2.1. </span>Key Concepts<aclass="headerlink" href="#id1" title="Link to this heading"></a></h3>
310
306
<dl>
311
307
<dt>Predicate</dt><dd><p>A predicate is a function that takes an object and returns a truth value. It essentially describes a property or a relation among objects.</p>
<h3><spanclass="section-number">3.2.2. </span>Examples<aclass="headerlink" href="#id3" title="Link to this heading"></a></h3>
321
+
<sectionid="id2">
322
+
<h3><spanclass="section-number">3.2.2. </span>Examples<aclass="headerlink" href="#id2" title="Link to this heading"></a></h3>
327
323
<p>Consider a domain of discourse consisting of animals.
328
324
Let <spanclass="math notranslate nohighlight">\(P(x)\)</span> represent “x is a cat.”</p>
329
325
<p>Now, consider the statement:</p>
@@ -355,7 +351,7 @@ <h3><span class="section-number">3.2.2. </span>Examples<a class="headerlink" hre
355
351
<sectionid="recap">
356
352
<h3><spanclass="section-number">3.2.3. </span>Recap<aclass="headerlink" href="#recap" title="Link to this heading"></a></h3>
357
353
<p>Predicate logic allows for the expression of more complex and nuanced statements about the world compared to propositional logic. Its use of quantifiers and predicates enables detailed analysis of the properties of objects and their relationships.</p>
358
-
<divclass="admonition-todo admonition" id="id4">
354
+
<divclass="admonition-todo admonition" id="id3">
359
355
<pclass="admonition-title">Todo</p>
360
356
<p>Add material on Sets, Proofs, and Induction</p>
<p>In this chapter, we discuss formal specification of software systems.
250
250
We will use Alloy, a lightweight modeling language based on relational logic, to express our specifications.
251
251
We focus on modeling data structures, defining constraints, specifying operations, and reasoning about system behavior using Alloy’s built-in analysis tools.</p>
252
-
<divclass="admonition note">
253
-
<pclass="admonition-title">Note</p>
254
-
<p>This chapter is in its initial stages for spring 2026 and subject to ongoing revisions!</p>
255
-
</div>
256
252
<p>More details, including additional examples, are available in the book <aclass="reference external" href="https://haslab.github.io/formal-software-design">Formal Software Design with Alloy 6</a>.</p>
257
253
<sectionid="introduction-to-alloy">
258
254
<h2><spanclass="section-number">5.1. </span>Introduction to Alloy<aclass="headerlink" href="#introduction-to-alloy" title="Link to this heading"></a></h2>
@@ -442,7 +438,7 @@ <h2><span class="section-number">5.9. </span>Conclusion<a class="headerlink" hre
0 commit comments