Inhalt
Aktueller Ordner:
/modal4tutorialeng.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modal Tutorial (Version 4) β The Trinity as a Necessary Structure of a Monistic Modal Ontology</title>
<base href="https://the-last-freedom.org/Projekt_Pompeji/">
<style>
/* ========== GLOBAL ========== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Georgia', 'Times New Roman', Times, serif;
background-color: #f5f3ef;
color: #2c2c2c;
line-height: 1.7;
padding: 2rem 1rem;
}
.container {
max-width: 820px;
margin: 0 auto;
background-color: #fffef7;
padding: 2rem 2.2rem;
border-radius: 16px;
box-shadow: 0 8px 30px rgba(0,0,0,0.08);
border: 1px solid #e0d6c8;
}
h1 {
font-size: 1.8rem;
font-weight: normal;
color: #2c2c2c;
border-left: 6px solid #6b4f8a;
padding-left: 1rem;
margin-bottom: 0.3rem;
}
.subhead {
font-size: 0.95rem;
color: #6b6b6b;
margin-bottom: 1.8rem;
border-bottom: 1px solid #e0d6c8;
padding-bottom: 0.8rem;
}
.subhead a {
color: #6b4f8a;
text-decoration: none;
}
.subhead a:hover {
text-decoration: underline;
}
.version-badge {
display: inline-block;
background-color: #2a6b4f;
color: #fffef7;
font-size: 0.65rem;
padding: 0.15rem 0.6rem;
border-radius: 20px;
vertical-align: middle;
margin-left: 0.5rem;
}
.version-badge.part1 {
background-color: #8a3a3a;
}
.version-badge.part2 {
background-color: #3a5a8a;
}
/* ========== STEP BLOCK ========== */
.step-block {
background-color: #faf8f3;
border-left: 4px solid #2a6b4f;
padding: 1.5rem 1.8rem;
margin-bottom: 2rem;
border-radius: 0 10px 10px 0;
}
.step-block.part1 {
border-left-color: #8a3a3a;
}
.step-block.part2 {
border-left-color: #3a5a8a;
}
.step-number {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 1px;
color: #2a6b4f;
font-weight: bold;
}
.step-number.part1 {
color: #8a3a3a;
}
.step-number.part2 {
color: #3a5a8a;
}
.step-title {
font-size: 1.3rem;
font-weight: bold;
margin: 0.2rem 0 0.8rem 0;
color: #2c2c2c;
}
.step-explanation {
margin-bottom: 1.2rem;
}
.step-explanation p {
margin-bottom: 0.8rem;
}
.step-explanation ul, .step-explanation ol {
margin: 0.5rem 0 0.8rem 1.5rem;
}
.step-explanation li {
margin-bottom: 0.3rem;
}
/* Formula box */
.formula-box {
background-color: #f0ede6;
padding: 0.8rem 1.2rem;
border-radius: 8px;
margin: 0.8rem 0;
font-family: 'Courier New', monospace;
font-size: 1.05rem;
text-align: center;
border: 1px solid #d4cab8;
overflow-x: auto;
}
.formula-box.important {
background-color: #d4edda;
border-color: #2a6b4f;
}
.formula-box.red {
background-color: #f8d7da;
border-color: #8a3a3a;
}
.formula-box.blue {
background-color: #d4e4f7;
border-color: #3a5a8a;
}
/* Tableau display */
.tableau {
background-color: #1a1a1a;
color: #e8e0d8;
padding: 1rem 1.5rem;
border-radius: 8px;
font-family: 'Consolas', 'Monaco', monospace;
font-size: 0.85rem;
line-height: 1.6;
overflow-x: auto;
margin: 1rem 0;
white-space: pre-wrap;
word-wrap: break-word;
}
.tableau .hl { color: #f0c060; }
.tableau .red { color: #e06060; }
.tableau .green { color: #80d080; }
.tableau .blue { color: #80a0e0; }
/* ========== QUESTION ========== */
.question-box {
background-color: #f5f0ea;
padding: 1.2rem 1.5rem;
border-radius: 10px;
margin-top: 1rem;
border: 1px solid #d4cab8;
}
.question-box .qtext {
font-weight: bold;
margin-bottom: 0.6rem;
}
.question-box .qoptions {
display: flex;
flex-wrap: wrap;
gap: 0.4rem 1rem;
margin-bottom: 0.8rem;
}
.question-box .qoptions label {
display: inline-block;
background-color: #fffef7;
padding: 0.15rem 0.8rem;
border-radius: 30px;
border: 1px solid #d4cab8;
font-size: 0.85rem;
cursor: pointer;
transition: background-color 0.2s;
}
.question-box .qoptions label:hover {
background-color: #e8e2d7;
}
.question-box .qoptions input[type="radio"] {
margin-right: 0.3rem;
accent-color: #2a6b4f;
}
.question-box .qsubmit {
background-color: #2a6b4f;
color: #fffef7;
border: none;
padding: 0.4rem 1.6rem;
border-radius: 30px;
font-size: 0.85rem;
font-family: inherit;
cursor: pointer;
transition: background-color 0.2s;
}
.question-box .qsubmit:hover {
background-color: #1d4f3a;
}
.question-box .qsubmit:disabled {
background-color: #b0a89a;
cursor: not-allowed;
}
.question-box .qfeedback {
margin-top: 0.8rem;
padding: 0.6rem 1rem;
border-radius: 8px;
font-weight: bold;
display: none;
}
.question-box .qfeedback.correct {
display: block;
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.question-box .qfeedback.wrong {
display: block;
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
/* ========== PROGRESS ========== */
.progress-bar {
background-color: #e0d6c8;
border-radius: 20px;
height: 8px;
margin: 1.8rem 0 1rem 0;
overflow: hidden;
}
.progress-bar .fill {
height: 100%;
width: 0%;
background-color: #2a6b4f;
border-radius: 20px;
transition: width 0.4s ease;
}
.progress-text {
text-align: right;
font-size: 0.8rem;
color: #8b8b8b;
margin-top: -0.3rem;
}
/* ========== NAVI ========== */
.nav-links {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-top: 2rem;
padding-top: 1rem;
border-top: 1px solid #e0d6c8;
}
.nav-links a {
color: #2a6b4f;
text-decoration: none;
font-size: 0.9rem;
padding: 0.3rem 0.8rem;
border-radius: 30px;
background-color: #f0ede6;
transition: background-color 0.2s;
}
.nav-links a:hover:not(.disabled) {
background-color: #d4cab8;
}
.nav-links .disabled {
color: #b0a89a;
pointer-events: none;
background-color: #f5f3ef;
}
/* ========== RESPONSIVE ========== */
@media (max-width: 640px) {
.container {
padding: 1.2rem;
}
h1 {
font-size: 1.4rem;
}
.step-block {
padding: 1rem 1.2rem;
}
.question-box {
padding: 1rem;
}
.question-box .qoptions {
flex-direction: column;
gap: 0.2rem;
}
.formula-box {
font-size: 0.9rem;
padding: 0.6rem 0.8rem;
}
.tableau {
font-size: 0.75rem;
padding: 0.8rem 1rem;
}
.nav-links {
flex-direction: column;
gap: 0.6rem;
align-items: stretch;
text-align: center;
}
}
/* ========== HELPER CLASSES ========== */
.highlight {
background-color: #f5f0ea;
padding: 0.1rem 0.3rem;
border-radius: 4px;
font-weight: bold;
}
.symbol {
font-family: 'Courier New', monospace;
background-color: #f0ede6;
padding: 0.05rem 0.4rem;
border-radius: 4px;
font-size: 0.95rem;
}
.boxed {
border: 1px solid #c4a86b;
padding: 0.3rem 0.8rem;
border-radius: 6px;
display: inline-block;
background-color: #faf8f3;
font-weight: bold;
}
.mt-1 { margin-top: 1rem; }
.mb-1 { margin-bottom: 1rem; }
.text-center { text-align: center; }
.text-muted { color: #8b8b8b; font-size: 0.85rem; }
.part-tag {
display: inline-block;
font-size: 0.7rem;
padding: 0.1rem 0.6rem;
border-radius: 20px;
color: white;
margin-right: 0.5rem;
}
.part-tag.p1 { background-color: #8a3a3a; }
.part-tag.p2 { background-color: #3a5a8a; }
.part-tag.p3 { background-color: #6b4f8a; }
</style>
</head>
<body>
<div class="container" id="app">
<!-- ===== HEADER ===== -->
<h1>π The Trinity as a Necessary Structure of a Monistic Modal Ontology <span class="version-badge">Version 4 β Complete Analysis</span></h1>
<div class="subhead">
An interactive tutorial β Step by step<br>
<a href="index.html">β Back to the entry page</a> |
<a href="modal4eng.pdf">π PDF of the treatise</a>
</div>
<!-- ===== PROGRESS ===== -->
<div class="progress-bar" id="progressBar">
<div class="fill" id="progressFill" style="width: 0%;"></div>
</div>
<div class="progress-text" id="progressText">Step 0 of 24</div>
<!-- ===== STEPS ===== -->
<div id="stepContainer">
<!-- Will be filled by JavaScript -->
</div>
<!-- ===== NAVIGATION ===== -->
<div class="nav-links" id="navLinks">
<a href="#" id="prevBtn" class="disabled">β Back</a>
<span id="stepIndicator" style="font-size:0.85rem; color:#8b8b8b;">0 / 24</span>
<a href="#" id="nextBtn">Next β</a>
</div>
<!-- ===== FOOTER ===== -->
<div style="margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid #e0d6c8; font-size: 0.75rem; color: #8b8b8b; text-align: center;">
<p>Β© Paul Koop β <a href="index.html" style="color: #2a6b4f;">the-last-freedom.org/Projekt_Pompeji</a></p>
<p style="margin-top:0.2rem;">Version 4 combines the proof of non-derivability in pure S5 with the proof in the extended system S5+SP.</p>
</div>
</div>
<script>
// ================================================================
// DATA: 24 steps for Version 4 β ENGLISH
// ================================================================
const steps = [
// ============================================================
// PART 0: INTRODUCTION (Steps 0β4)
// ============================================================
{
id: 0,
title: "What is the goal of Version 4?",
part: "Introduction",
explanation: `
<p><strong>Version 4</strong> unites insights from all previous versions:</p>
<ul>
<li><strong>Versions 1β3:</strong> Attempt to derive the Trinity directly from S5 β failed due to missing bridge.</li>
<li><strong>Version 4 (old):</strong> Proof that pure S5 is insufficient.</li>
<li><strong>Version 5:</strong> Formalization of the superposition intuition.</li>
</ul>
<p><strong>Version 4 (new)</strong> unites both perspectives:</p>
<ol>
<li><strong>Part I:</strong> Non-derivability in pure S5.</li>
<li><strong>Part II:</strong> Proof in the extended system S5+SP.</li>
<li><strong>Part III:</strong> Metatheoretical classification.</li>
</ol>
<div class="formula-box important">S5 ¬⊢ β‘βxTr(x) but S5+SP ⊢ β‘βxTr(x)</div>
`,
question_html: `
<p><strong>What is the main goal of Version 4?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q0" value="0"> Prove the Trinity directly from S5.</label>
<label><input type="radio" name="q0" value="1"> Show that S5 is insufficient and prove the Trinity in S5+SP.</label>
<label><input type="radio" name="q0" value="2"> Prove that the Trinity is impossible.</label>
<label><input type="radio" name="q0" value="3"> Use only two axioms.</label>
<label><input type="radio" name="q0" value="4"> Show that the Trinity is an illusion.</label>
<label><input type="radio" name="q0" value="5"> Prove the existence of God.</label>
</div>
`,
answer: 1
},
{
id: 1,
title: "The Basic Axioms (A1, A4, A11, A12)",
part: "Introduction",
explanation: `
<p>The treatise uses <strong>four basic axioms</strong>:</p>
<ul>
<li><strong>A1 β Monism:</strong> <span class="symbol">β‘Β¬βxβy FundamentallySeparated(x,y)</span></li>
<li><strong>A4 β Existence of a World:</strong> <span class="symbol">ββw World(w)</span></li>
<li><strong>A11 β Transcendental Bridge:</strong> <span class="symbol">βw (WorldSeparatedFromConsciousness(w) β Β¬βc(Consciousness(c)β§c(w)))</span></li>
<li><strong>A12 β Experience β Realization:</strong> <span class="symbol">βp. Experienceable(p) β βw. Realized(w,p)</span></li>
</ul>
<p>Plus the <strong>three implications of the cases</strong> (A13, A14, A15):</p>
<div class="formula-box">A13 := β‘βx(T(x)βU(x)) A14 := β‘βx(U(x)βS(x)) A15 := β‘βx(S(x)βT(x))</div>
`,
question_html: `
<p><strong>How many basic axioms does the treatise use?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q1" value="0"> Two</label>
<label><input type="radio" name="q1" value="1"> Three</label>
<label><input type="radio" name="q1" value="2"> Four</label>
<label><input type="radio" name="q1" value="3"> Five</label>
<label><input type="radio" name="q1" value="4"> Six</label>
<label><input type="radio" name="q1" value="5"> Seven</label>
</div>
`,
answer: 2
},
{
id: 2,
title: "Definition of the Limit Structure (T, U, S, Tr)",
part: "Introduction",
explanation: `
<p><strong>Totality T</strong> is defined as a well-founded, open interval:</p>
<div class="formula-box">T := { x | U < x < S }</div>
<p><strong>Origin U</strong> and <strong>Self-Knowledge S</strong> are the limits:</p>
<div class="formula-box">U := lim inf T β S := lim sup T</div>
<p>The <strong>Trinity</strong> is the unity of these three limits:</p>
<div class="formula-box important">Tr := U β§ T β§ S</div>
<p>The three concepts are <strong>not substances</strong>, but <strong>perspectives</strong> on the same reality.</p>
`,
question_html: `
<p><strong>What does Tr := U β§ T β§ S mean?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q2" value="0"> The Trinity is true if at least one concept is true.</label>
<label><input type="radio" name="q2" value="1"> The Trinity is true if all three concepts are true simultaneously.</label>
<label><input type="radio" name="q2" value="2"> The Trinity is the same as Totality.</label>
<label><input type="radio" name="q2" value="3"> The Trinity is the same as Origin.</label>
<label><input type="radio" name="q2" value="4"> The Trinity is the same as Self-Knowledge.</label>
<label><input type="radio" name="q2" value="5"> The Trinity is an illusion.</label>
</div>
`,
answer: 1
},
{
id: 3,
title: "The Three Cases of Reductio ad absurdum",
part: "Introduction",
explanation: `
<p>The treatise uses a <strong>Reductio ad absurdum</strong>. The assumption is:</p>
<div class="formula-box">Β¬Tr β‘ Β¬(U β§ T β§ S)</div>
<p>By de Morgan:</p>
<div class="formula-box">Β¬U β¨ Β¬T β¨ Β¬S</div>
<p>So there are <strong>three cases</strong>:</p>
<ol>
<li><strong>Case 1:</strong> <span class="symbol">T β§ Β¬U</span> β Totality without Origin</li>
<li><strong>Case 2:</strong> <span class="symbol">U β§ Β¬S</span> β Origin without Self-Knowledge</li>
<li><strong>Case 3:</strong> <span class="symbol">S β§ Β¬T</span> β Self-Knowledge without Totality</li>
</ol>
`,
question_html: `
<p><strong>Which three cases are examined in the Reductio?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q3" value="0"> Tβ§Β¬U, Uβ§Β¬S, Sβ§Β¬T</label>
<label><input type="radio" name="q3" value="1"> Uβ§Β¬T, Tβ§Β¬S, Sβ§Β¬U</label>
<label><input type="radio" name="q3" value="2"> Β¬Uβ§Β¬T, Β¬Tβ§Β¬S, Β¬Sβ§Β¬U</label>
<label><input type="radio" name="q3" value="3"> Tβ§U, Uβ§S, Sβ§T</label>
<label><input type="radio" name="q3" value="4"> Β¬Tβ§Β¬U, Β¬Uβ§Β¬S, Β¬Sβ§Β¬T</label>
<label><input type="radio" name="q3" value="5"> Tβ§Β¬S, Uβ§Β¬T, Sβ§Β¬U</label>
</div>
`,
answer: 0
},
{
id: 4,
title: "Proof of the Existence of T",
part: "Introduction",
explanation: `
<p><strong>Theorem:</strong> Totality T exists.</p>
<p><strong>Proof:</strong></p>
<ol>
<li>From A4: <span class="symbol">ββw World(w)</span>.</li>
<li>In S5, there is a possible world <span class="symbol">wβ</span>.</li>
<li>In <span class="symbol">wβ</span>, there is at least one realized state <span class="symbol">x</span>.</li>
<li>The set of all realized states is non-empty.</li>
<li>T is the set of all realized states.</li>
<li><strong>Therefore T exists.</strong></li>
</ol>
<div class="formula-box">βT</div>
`,
question_html: `
<p><strong>What follows from A4 for the existence of T?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q4" value="0"> T does not exist.</label>
<label><input type="radio" name="q4" value="1"> T exists because there is at least one realized possibility.</label>
<label><input type="radio" name="q4" value="2"> T is empty.</label>
<label><input type="radio" name="q4" value="3"> T is impossible.</label>
<label><input type="radio" name="q4" value="4"> T is the same as U.</label>
<label><input type="radio" name="q4" value="5"> T is the same as S.</label>
</div>
`,
answer: 1
},
// ============================================================
// PART I: NON-DERIVABILITY IN PURE S5 (Steps 5β11)
// ============================================================
{
id: 5,
title: "PART I β Goal: Non-Derivability in Pure S5",
part: "Part I",
explanation: `
<div style="background:#f8d7da; padding:0.5rem 1rem; border-radius:6px; margin-bottom:1rem;">
<span class="part-tag p1">PART I</span>
<strong>Goal:</strong> Show that the Trinity is <strong>not</strong> derivable in pure S5.
</div>
<div class="formula-box red">S5 ¬⊢ β‘βxTr(x)</div>
<p><strong>Method:</strong> We construct an <strong>open S5 tableau</strong> for the negation of the target formula.</p>
<p>According to the <strong>soundness and completeness theorem</strong> of the S5 tableau calculus:</p>
<div class="formula-box" style="background:#f5f0ea;">A set of formulas is S5-satisfiable exactly when the tableau has an open branch.</div>
<p>If the tableau remains open, there exists an S5 model that satisfies all axioms but makes the target formula false.</p>
`,
question_html: `
<p><strong>What is the goal of Part I?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q5" value="0"> To prove the Trinity in S5.</label>
<label><input type="radio" name="q5" value="1"> To show that the Trinity is not derivable in S5.</label>
<label><input type="radio" name="q5" value="2"> To introduce the superposition axioms.</label>
<label><input type="radio" name="q5" value="3"> To prove the existence of God.</label>
<label><input type="radio" name="q5" value="4"> To show that S5 is contradictory.</label>
<label><input type="radio" name="q5" value="5"> To expose the Trinity as an illusion.</label>
</div>
`,
answer: 1
},
{
id: 6,
title: "The Tableau β Assumption and First Decomposition",
part: "Part I",
explanation: `
<p>The tableau begins with the assumption of the negation of the target formula:</p>
<div class="tableau">
1. Β¬β‘βx Tr(x) [Assumption]
2. βΒ¬βx Tr(x) [1, Β¬β‘-rule]
3. Β¬βx Tr(x) @ w0 [2, β-rule]
4. βx Β¬Tr(x) @ w0 [3, Β¬β-rule]
5. Β¬Tr(a) @ w0 [4, β-rule: a new]
6. Β¬(T(a) β§ U(a) β§ S(a)) @ w0 [5, Tr-definition]
β Ξ²-rule on 6:
6a. Β¬T(a) @ w0
6b. Β¬U(a) @ w0
6c. Β¬S(a) @ w0
</div>
<p>We obtain <strong>three branches</strong>, each representing one of the three cases.</p>
`,
question_html: `
<p><strong>Where does the Ξ²-rule on step 6 lead?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q6" value="0"> To a single branch.</label>
<label><input type="radio" name="q6" value="1"> To three branches: Β¬T(a), Β¬U(a), Β¬S(a).</label>
<label><input type="radio" name="q6" value="2"> To two branches.</label>
<label><input type="radio" name="q6" value="3"> The tableau closes immediately.</label>
<label><input type="radio" name="q6" value="4"> There is no branch.</label>
<label><input type="radio" name="q6" value="5"> A contradiction arises.</label>
</div>
`,
answer: 1
},
{
id: 7,
title: "Tableau β Branch 6a: Β¬T(a)",
part: "Part I",
explanation: `
<p><strong>Branch 6a:</strong> <span class="symbol">Β¬T(a) @ w0</span></p>
<div class="tableau">
<span class="green">βββ BRANCH 6a: Β¬T(a) @ w0 βββ</span>
7. β‘βx(S(x) β T(x)) @ w0 [A15]
8. βx(S(x) β T(x)) @ w0 [7, β‘-rule]
9. S(a) β T(a) @ w0 [8, β-rule]
β Ξ²-rule on 9:
9a. Β¬S(a) @ w0
9b. T(a) @ w0 <span class="red">[Contradiction with 6a β closes]</span>
Thus: 9a. Β¬S(a) @ w0
10. β‘βx(T(x) β U(x)) @ w0 [A13]
11. βx(T(x) β U(x)) @ w0 [10, β‘-rule]
12. T(a) β U(a) @ w0 [11, β-rule]
β Ξ²-rule on 12:
12a. Β¬T(a) @ w0 [already in 6a]
12b. U(a) @ w0 [no contradiction]
β Choose branch 12a (consistent).
13. β‘βx(U(x) β S(x)) @ w0 [A14]
14. βx(U(x) β S(x)) @ w0 [13, β‘-rule]
15. U(a) β S(a) @ w0 [14, β-rule]
β Ξ²-rule on 15:
15a. Β¬U(a) @ w0
15b. S(a) @ w0 <span class="red">[Contradiction with 9a β closes]</span>
Thus: 15a. Β¬U(a) @ w0
β Hence: Β¬T(a), Β¬U(a), Β¬S(a) @ w0.
β <span class="hl">This is consistent β no contradiction.</span>
</div>
`,
question_html: `
<p><strong>What does Branch 6a show?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q7" value="0"> A contradiction arises.</label>
<label><input type="radio" name="q7" value="1"> Β¬T(a), Β¬U(a), Β¬S(a) are consistent.</label>
<label><input type="radio" name="q7" value="2"> The branch closes immediately.</label>
<label><input type="radio" name="q7" value="3"> Tr(a) follows.</label>
<label><input type="radio" name="q7" value="4"> The branch is impossible.</label>
<label><input type="radio" name="q7" value="5"> A contradiction with A1 follows.</label>
</div>
`,
answer: 1
},
{
id: 8,
title: "Tableau β Branches 6b and 6c",
part: "Part I",
explanation: `
<p><strong>Branch 6b:</strong> <span class="symbol">Β¬U(a) @ w0</span></p>
<div class="tableau">
<span class="green">βββ BRANCH 6b: Β¬U(a) @ w0 βββ</span>
16. β‘βx(T(x) β U(x)) @ w0 [A13]
17. βx(T(x) β U(x)) @ w0 [16, β‘-rule]
18. T(a) β U(a) @ w0 [17, β-rule]
β Ξ²-rule on 18:
18a. Β¬T(a) @ w0
18b. U(a) @ w0 <span class="red">[Contradiction with 6b β closes]</span>
Thus: 18a. Β¬T(a) @ w0
19. β‘βx(S(x) β T(x)) @ w0 [A15]
20. βx(S(x) β T(x)) @ w0 [19, β‘-rule]
21. S(a) β T(a) @ w0 [20, β-rule]
β Ξ²-rule on 21:
21a. Β¬S(a) @ w0
21b. T(a) @ w0 <span class="red">[Contradiction with 18a β closes]</span>
Thus: 21a. Β¬S(a) @ w0
β Consistent: Β¬U(a), Β¬T(a), Β¬S(a) @ w0.
</div>
<p><strong>Branch 6c</strong> (<span class="symbol">Β¬S(a) @ w0</span>) also leads to <span class="symbol">Β¬T(a), Β¬U(a), Β¬S(a) @ w0</span>.</p>
<p><strong>All three branches are consistent.</strong></p>
`,
question_html: `
<p><strong>What is the result of all three branches?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q8" value="0"> All three branches close with a contradiction.</label>
<label><input type="radio" name="q8" value="1"> All three branches are consistent with Β¬T(a), Β¬U(a), Β¬S(a).</label>
<label><input type="radio" name="q8" value="2"> Only branch 6a is consistent.</label>
<label><input type="radio" name="q8" value="3"> Only branch 6b is consistent.</label>
<label><input type="radio" name="q8" value="4"> Only branch 6c is consistent.</label>
<label><input type="radio" name="q8" value="5"> None of the branches are consistent.</label>
</div>
`,
answer: 1
},
{
id: 9,
title: "The Remaining Axioms (A4, A11, A12)",
part: "Part I",
explanation: `
<p>The remaining axioms lead to <strong>new worlds</strong>, but <strong>not back to w0</strong>:</p>
<div class="tableau">
34. ββw World(w) @ w0 [A4]
35. βw World(w) @ w1 [34, β-rule, w1 new]
β Leads to new world w1, but not back to w0.
36. A11, A12: No instances in w0 that force T(a), U(a), or S(a).
</div>
<p><strong>The tableau has an open branch.</strong></p>
<div class="formula-box red">w0, a, with Β¬T(a), Β¬U(a), Β¬S(a)</div>
`,
question_html: `
<p><strong>What do the axioms A4, A11, A12 do in the tableau?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q9" value="0"> They close the tableau.</label>
<label><input type="radio" name="q9" value="1"> They lead to new worlds, but not back to w0.</label>
<label><input type="radio" name="q9" value="2"> They force T(a) in w0.</label>
<label><input type="radio" name="q9" value="3"> They force U(a) in w0.</label>
<label><input type="radio" name="q9" value="4"> They force S(a) in w0.</label>
<label><input type="radio" name="q9" value="5"> They are not applicable.</label>
</div>
`,
answer: 1
},
{
id: 10,
title: "Metatheoretical Conclusion β Non-Derivability",
part: "Part I",
explanation: `
<p>According to the <strong>soundness and completeness theorem</strong> of the S5 tableau calculus:</p>
<div class="formula-box" style="background:#f5f0ea;">A set of formulas Ξ£ is S5-satisfiable exactly when the tableau for Ξ£ has an open branch.</div>
<p>Our tableau for</p>
<div class="formula-box">Ξ£ = { A1, A4, A11, A12, A13, A14, A15, Β¬β‘βxTr(x) }</div>
<p>has an open branch. Thus Ξ£ is S5-satisfiable.</p>
<p>There exists an S5 model that satisfies all axioms, but in w0 has an individual a with Β¬T(a), Β¬U(a), Β¬S(a).</p>
<div class="formula-box important red">S5 ¬⊢ β‘βxTr(x)</div>
`,
question_html: `
<p><strong>What follows from the open tableau branch?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q10" value="0"> The target formula is provable in S5.</label>
<label><input type="radio" name="q10" value="1"> The target formula is not provable in S5.</label>
<label><input type="radio" name="q10" value="2"> The tableau is flawed.</label>
<label><input type="radio" name="q10" value="3"> The axioms are contradictory.</label>
<label><input type="radio" name="q10" value="4"> There is no S5 model.</label>
<label><input type="radio" name="q10" value="5"> The target formula is necessarily true.</label>
</div>
`,
answer: 1
},
{
id: 11,
title: "Summary of Part I",
part: "Part I",
explanation: `
<div style="background:#f8d7da; padding:0.8rem 1.2rem; border-radius:8px;">
<p style="font-weight:bold; color:#8a3a3a;">Result of Part I:</p>
<div class="formula-box red">S5 ¬⊢ β‘βxTr(x)</div>
<p>The Trinity is <strong>not</strong> derivable in <strong>pure S5</strong>.</p>
<p>The reason: A bridge from the existence of Tr in one world to necessity in all worlds is missing.</p>
</div>
<p style="margin-top:1rem;">In <strong>Part II</strong>, this bridge is introduced via the <strong>superposition axioms</strong> (ASP1βASP5).</p>
`,
question_html: `
<p><strong>What is the result of Part I?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q11" value="0"> S5 proves the Trinity.</label>
<label><input type="radio" name="q11" value="1"> S5 does not prove the Trinity.</label>
<label><input type="radio" name="q11" value="2"> The Trinity is impossible in S5.</label>
<label><input type="radio" name="q11" value="3"> The Trinity is necessary in S5.</label>
<label><input type="radio" name="q11" value="4"> The Trinity is an illusion.</label>
<label><input type="radio" name="q11" value="5"> S5 is contradictory.</label>
</div>
`,
answer: 1
},
// ============================================================
// PART II: PROOF IN S5+SP (Steps 12β20)
// ============================================================
{
id: 12,
title: "PART II β The Superposition Extension (ASP)",
part: "Part II",
explanation: `
<div style="background:#d4e4f7; padding:0.5rem 1rem; border-radius:6px; margin-bottom:1rem;">
<span class="part-tag p2">PART II</span>
<strong>Goal:</strong> Prove the Trinity in the extended system <strong>S5+SP</strong>.
</div>
<p>The <strong>superposition axioms</strong> (ASP) formalize the idea that consciousness (C) is the self-reflexive moment of a superposition from which all worlds emerge.</p>
<ul>
<li><strong>ASP1:</strong> <span class="symbol">C @ w<sub>super</sub></span> β Consciousness in the superposition</li>
<li><strong>ASP2:</strong> <span class="symbol">βv (w<sub>super</sub> R v β (C @ v β v = w<sub>super</sub>))</span> β Uniqueness of C</li>
<li><strong>ASP3:</strong> <span class="symbol">βx Tr(x) @ w<sub>super</sub></span> β Superposition contains all Tr-properties</li>
<li><strong>ASP4:</strong> <span class="symbol">βv (w<sub>super</sub> R v β βx Tr(x) @ v)</span> β Transfer to all worlds</li>
<li><strong>ASP5:</strong> <span class="symbol">βv (v β w<sub>super</sub> β w<sub>super</sub> R v)</span> β Universal reachability</li>
</ul>
`,
question_html: `
<p><strong>How many superposition axioms are introduced?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q12" value="0"> Two</label>
<label><input type="radio" name="q12" value="1"> Three</label>
<label><input type="radio" name="q12" value="2"> Four</label>
<label><input type="radio" name="q12" value="3"> Five</label>
<label><input type="radio" name="q12" value="4"> Six</label>
<label><input type="radio" name="q12" value="5"> Seven</label>
</div>
`,
answer: 3
},
{
id: 13,
title: "ASP1 β Consciousness in the Superposition",
part: "Part II",
explanation: `
<p><strong>ASP1:</strong></p>
<div class="formula-box">ASP1 := C @ w<sub>super</sub></div>
<p>This means: <strong>Consciousness holds in the superposition.</strong></p>
<p>The superposition is the <strong>primordial state</strong> in which all possibilities are still undividedly contained.</p>
<p><strong>Philosophical meaning:</strong> Consciousness is not something that <em>occurs</em> in the worlds β it is the <strong>ground</strong> for why worlds exist at all.</p>
`,
question_html: `
<p><strong>What does ASP1 state?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q13" value="0"> Consciousness is in all worlds.</label>
<label><input type="radio" name="q13" value="1"> Consciousness holds in the superposition.</label>
<label><input type="radio" name="q13" value="2"> Consciousness is impossible.</label>
<label><input type="radio" name="q13" value="3"> Consciousness is an illusion.</label>
<label><input type="radio" name="q13" value="4"> Consciousness contradicts A1.</label>
<label><input type="radio" name="q13" value="5"> Consciousness is in no world.</label>
</div>
`,
answer: 1
},
{
id: 14,
title: "ASP2, ASP3 β Uniqueness and Tr-Properties",
part: "Part II",
explanation: `
<p><strong>ASP2 β Uniqueness of C:</strong></p>
<div class="formula-box">βv (w<sub>super</sub> R v β (C @ v β v = w<sub>super</sub>))</div>
<p>This means: <strong>Consciousness holds only in the superposition</strong> β no other world has it.</p>
<p><strong>ASP3 β The Superposition contains all Tr-properties:</strong></p>
<div class="formula-box">βx Tr(x) @ w<sub>super</sub></div>
<p>This means: The superposition already contains <strong>all</strong> properties T, U, S.</p>
<p>It is the <strong>ground</strong> for everything that holds in the worlds.</p>
`,
question_html: `
<p><strong>What does ASP3 state?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q14" value="0"> The superposition contains no Tr-properties.</label>
<label><input type="radio" name="q14" value="1"> The superposition contains all Tr-properties.</label>
<label><input type="radio" name="q14" value="2"> The superposition contains only T.</label>
<label><input type="radio" name="q14" value="3"> The superposition contains only U.</label>
<label><input type="radio" name="q14" value="4"> The superposition contains only S.</label>
<label><input type="radio" name="q14" value="5"> The superposition contains no properties.</label>
</div>
`,
answer: 1
},
{
id: 15,
title: "ASP4 and ASP5 β Transfer and Reachability",
part: "Part II",
explanation: `
<p><strong>ASP4 β Transfer to all worlds:</strong></p>
<div class="formula-box">βv (w<sub>super</sub> R v β βx Tr(x) @ v)</div>
<p>This means: <strong>What holds in the superposition holds in all reachable worlds.</strong></p>
<p><strong>ASP5 β Universal reachability:</strong></p>
<div class="formula-box">βv (v β w<sub>super</sub> β w<sub>super</sub> R v)</div>
<p>This means: <strong>Every other world is reachable from the superposition.</strong></p>
<p>The superposition is the <strong>unique origin</strong> of all worlds.</p>
`,
question_html: `
<p><strong>What does ASP4 state?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q15" value="0"> What holds in the superposition holds only there.</label>
<label><input type="radio" name="q15" value="1"> What holds in the superposition holds in all reachable worlds.</label>
<label><input type="radio" name="q15" value="2"> What holds in the superposition holds in no other world.</label>
<label><input type="radio" name="q15" value="3"> What holds in the superposition is false.</label>
<label><input type="radio" name="q15" value="4"> What holds in the superposition is possible.</label>
<label><input type="radio" name="q15" value="5"> What holds in the superposition is impossible.</label>
</div>
`,
answer: 1
},
{
id: 16,
title: "The Semantic Proof in S5+SP",
part: "Part II",
explanation: `
<p><strong>Claim:</strong> In every S5+SP model:</p>
<div class="formula-box important">β‘βxTr(x)</div>
<p><strong>Proof:</strong></p>
<p>Let <span class="symbol">w</span> be an arbitrary world.</p>
<p><strong>Case 1:</strong> <span class="symbol">w = w<sub>super</sub></span></p>
<p>By ASP3: <span class="symbol">βxTr(x) @ w<sub>super</sub></span>. Thus the claim holds.</p>
<p><strong>Case 2:</strong> <span class="symbol">w β w<sub>super</sub></span></p>
<p>By ASP5: <span class="symbol">w<sub>super</sub> R w</span>.</p>
<p>By ASP4: <span class="symbol">βxTr(x) @ w</span>. Thus the claim holds.</p>
<p>Since <span class="symbol">w</span> was arbitrary, <span class="symbol">βw βxTr(x) @ w</span>, hence <span class="symbol">β‘βxTr(x)</span>.</p>
<div class="formula-box important blue">S5+SP ⊢ β‘βxTr(x)</div>
`,
question_html: `
<p><strong>What follows from ASP3, ASP4, and ASP5?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q16" value="0"> The Trinity is impossible.</label>
<label><input type="radio" name="q16" value="1"> The Trinity holds in all worlds necessarily.</label>
<label><input type="radio" name="q16" value="2"> The Trinity holds only in the superposition.</label>
<label><input type="radio" name="q16" value="3"> The Trinity holds only in some worlds.</label>
<label><input type="radio" name="q16" value="4"> The Trinity is an illusion.</label>
<label><input type="radio" name="q16" value="5"> The Trinity contradicts the axioms.</label>
</div>
`,
answer: 1
},
{
id: 17,
title: "Tableau Proof in S5+SP β Reductio",
part: "Part II",
explanation: `
<p>The tableau proof in S5+SP begins with the reductio assumption:</p>
<div class="tableau">
<span class="hl">TABLEAU PROOF IN S5+SP</span>
<span class="hl">GOAL: β’ β‘βx Tr(x)</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
<span class="hl">REDUCTIO ASSUMPTION:</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
1. Β¬β‘βx Tr(x) [Assumption: target false]
2. βΒ¬βx Tr(x) [1, Β¬β‘-rule]
3. Β¬βx Tr(x) @ w0 [2, β-rule: new world w0]
4. βx Β¬Tr(x) @ w0 [3, Β¬β-rule]
5. Β¬Tr(a) @ w0 [4, β-rule: a new]
</div>
`,
question_html: `
<p><strong>How does the tableau proof in S5+SP begin?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q17" value="0"> With the assumption Β¬β‘βxTr(x).</label>
<label><input type="radio" name="q17" value="1"> With the assumption β‘βxTr(x).</label>
<label><input type="radio" name="q17" value="2"> With the assumption Β¬Tr(a).</label>
<label><input type="radio" name="q17" value="3"> With the assumption Tr(a).</label>
<label><input type="radio" name="q17" value="4"> With the assumption Β¬ASP3.</label>
<label><input type="radio" name="q17" value="5"> With the assumption Β¬ASP4.</label>
</div>
`,
answer: 0
},
{
id: 18,
title: "Tableau Proof β Case Distinction",
part: "Part II",
explanation: `
<p>The tableau branches on the identity of <span class="symbol">w0</span>:</p>
<div class="tableau">
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
<span class="hl">CASE DISTINCTION: w0 = w_super β¨ w0 β w_super</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
6. w0 = w_super β¨ w0 β w_super [Identity]
β Branch A: w0 = w_super
β Branch B: w0 β w_super
</div>
<p>Both cases are now examined separately.</p>
`,
question_html: `
<p><strong>What does the tableau branch on in step 6?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q18" value="0"> On Tr(a) or Β¬Tr(a).</label>
<label><input type="radio" name="q18" value="1"> On w0 = w_super or w0 β w_super.</label>
<label><input type="radio" name="q18" value="2"> On ASP3 or Β¬ASP3.</label>
<label><input type="radio" name="q18" value="3"> On ASP4 or Β¬ASP4.</label>
<label><input type="radio" name="q18" value="4"> On A1 or Β¬A1.</label>
<label><input type="radio" name="q18" value="5"> On T(a) or Β¬T(a).</label>
</div>
`,
answer: 1
},
{
id: 19,
title: "Tableau Proof β Branch A: w0 = w_super",
part: "Part II",
explanation: `
<p><strong>Branch A:</strong> <span class="symbol">w0 = w<sub>super</sub></span></p>
<div class="tableau">
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
<span class="hl">BRANCH A: w0 = w_super</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
7. Β¬Tr(a) @ w_super [5, Substitution]
8. βx Tr(x) @ w_super [ASP3, Axiom]
9. Tr(a) @ w_super [8, β-rule on a]
10. <span class="red">Contradiction: Tr(a) @ w_super and Β¬Tr(a) @ w_super</span>
β Branch A closes (β₯).
</div>
<p><strong>Branch A closes.</strong></p>
`,
question_html: `
<p><strong>Why does Branch A close?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q19" value="0"> Because of a contradiction between Tr(a) and Β¬Tr(a) in w_super.</label>
<label><input type="radio" name="q19" value="1"> Because ASP3 is not applicable.</label>
<label><input type="radio" name="q19" value="2"> Because ASP4 is not applicable.</label>
<label><input type="radio" name="q19" value="3"> Because ASP5 is not applicable.</label>
<label><input type="radio" name="q19" value="4"> Because the assumption is correct.</label>
<label><input type="radio" name="q19" value="5"> Because there is no contradiction.</label>
</div>
`,
answer: 0
},
{
id: 20,
title: "Tableau Proof β Branch B: w0 β w_super",
part: "Part II",
explanation: `
<p><strong>Branch B:</strong> <span class="symbol">w0 β w<sub>super</sub></span></p>
<div class="tableau">
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
<span class="hl">BRANCH B: w0 β w_super</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
11. w0 β w_super [from 6, Branch B]
12. w_super R w0 [11, ASP5]
13. βx Tr(x) @ w0 [12, ASP4]
14. Tr(a) @ w0 [13, β-rule on a]
15. <span class="red">Contradiction: Tr(a) @ w0 and Β¬Tr(a) @ w0 (from 5)</span>
β Branch B closes (β₯).
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
<span class="hl">BOTH BRANCHES CLOSE.</span>
<span class="green">βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ</span>
Therefore, the assumption Β¬β‘βxTr(x) is contradictory.
Thus: β’ β‘βxTr(x) in S5+SP.
<span class="hl">QED.</span>
</div>
`,
question_html: `
<p><strong>What is the result of the tableau proof in S5+SP?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q20" value="0"> The assumption Β¬β‘βxTr(x) leads to no contradiction.</label>
<label><input type="radio" name="q20" value="1"> The assumption Β¬β‘βxTr(x) leads to a contradiction β hence β‘βxTr(x) holds.</label>
<label><input type="radio" name="q20" value="2"> The tableau remains open.</label>
<label><input type="radio" name="q20" value="3"> The Trinity is impossible.</label>
<label><input type="radio" name="q20" value="4"> The Trinity is an illusion.</label>
<label><input type="radio" name="q20" value="5"> The superposition axioms are contradictory.</label>
</div>
`,
answer: 1
},
// ============================================================
// PART III: METATHEORETICAL CLASSIFICATION (Steps 21β23)
// ============================================================
{
id: 21,
title: "PART III β What Has Been Shown?",
part: "Part III",
explanation: `
<div style="background:#e8e0f0; padding:0.5rem 1rem; border-radius:6px; margin-bottom:1rem;">
<span class="part-tag p3">PART III</span>
<strong>Metatheoretical Classification</strong>
</div>
<table style="width:100%; border-collapse:collapse; margin:1rem 0;">
<tr style="background:#e0d6c8;">
<th style="border:1px solid #d4cab8; padding:0.5rem; text-align:left;">System</th>
<th style="border:1px solid #d4cab8; padding:0.5rem; text-align:left;">Statement</th>
<th style="border:1px solid #d4cab8; padding:0.5rem; text-align:left;">Status</th>
</tr>
<tr>
<td style="border:1px solid #d4cab8; padding:0.5rem;"><strong>Pure S5</strong></td>
<td style="border:1px solid #d4cab8; padding:0.5rem;">S5 ¬⊢ β‘βxTr(x)</td>
<td style="border:1px solid #d4cab8; padding:0.5rem; color:#8a3a3a; font-weight:bold;">Proven (open tableau branch)</td>
</tr>
<tr>
<td style="border:1px solid #d4cab8; padding:0.5rem;"><strong>S5+SP</strong></td>
<td style="border:1px solid #d4cab8; padding:0.5rem;">S5+SP ⊢ β‘βxTr(x)</td>
<td style="border:1px solid #d4cab8; padding:0.5rem; color:#3a7a3a; font-weight:bold;">Proven (closed tableau)</td>
</tr>
</table>
<div class="formula-box important">The bridge from existence to necessity is not a theorem of S5. It must be introduced as an additional metaphysical assumption.</div>
`,
question_html: `
<p><strong>What has been shown in Part III?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q21" value="0"> S5 proves the Trinity, S5+SP does not.</label>
<label><input type="radio" name="q21" value="1"> S5 does not prove the Trinity, S5+SP proves it.</label>
<label><input type="radio" name="q21" value="2"> Both systems prove the Trinity.</label>
<label><input type="radio" name="q21" value="3"> Both systems do not prove the Trinity.</label>
<label><input type="radio" name="q21" value="4"> The Trinity is impossible in both systems.</label>
<label><input type="radio" name="q21" value="5"> The Trinity is necessary in both systems.</label>
</div>
`,
answer: 1
},
{
id: 22,
title: "The Role of C (Consciousness)",
part: "Part III",
explanation: `
<p>The superposition axioms formalize the intuition that <strong>consciousness (C)</strong> is the self-reflexive moment of the superposition:</p>
<ul>
<li><strong>ASP1:</strong> C holds in the superposition.</li>
<li><strong>ASP2:</strong> C holds only there β it is a <strong>singular event</strong>.</li>
<li><strong>ASP3βASP5:</strong> The superposition is the necessary ground for all properties in all worlds.</li>
</ul>
<div class="formula-box important">C becomes the <strong>bridge from existence to necessity</strong>.</div>
<p>Because the superposition contains Tr and all worlds emerge from it, Tr holds necessarily in all worlds.</p>
`,
question_html: `
<p><strong>What role does C (Consciousness) play in the extended system?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q22" value="0"> C is an unnecessary axiom.</label>
<label><input type="radio" name="q22" value="1"> C is the bridge from existence to necessity.</label>
<label><input type="radio" name="q22" value="2"> C contradicts the other axioms.</label>
<label><input type="radio" name="q22" value="3"> C is an illusion.</label>
<label><input type="radio" name="q22" value="4"> C is the same as T.</label>
<label><input type="radio" name="q22" value="5"> C is the same as U.</label>
</div>
`,
answer: 1
},
{
id: 23,
title: "Conclusion β The Trinity as a Structural Condition",
part: "Part III",
explanation: `
<p>The treatise has shown:</p>
<ol>
<li><strong>In pure S5</strong>, the Trinity is <strong>not provable</strong> (Part I).</li>
<li><strong>In the extended system S5+SP</strong> (with superposition axioms), the Trinity is <strong>provable</strong> (Part II).</li>
<li>The crucial metaphysical burden rests on the superposition axioms β they are <strong>not logical theorems</strong>, but <strong>additional assumptions</strong>.</li>
</ol>
<div class="formula-box important" style="font-size:1.2rem;">The Trinity is not an additional entity, but a structural condition β yet it is provable only under the superposition hypothesis.</div>
<p style="margin-top:1rem; text-align:center; font-style:italic; color:#555;">This treatise was written in the spirit of rigorous modal logic, yet in the language of philosophy β for truth requires both: the precision of the formula and the breadth of the concept.</p>
`,
question_html: `
<p><strong>What is the final conclusion?</strong></p>
<div class="qoptions">
<label><input type="radio" name="q23" value="0"> The Trinity is provable in S5.</label>
<label><input type="radio" name="q23" value="1"> The Trinity is provable only under the superposition hypothesis.</label>
<label><input type="radio" name="q23" value="2"> The Trinity is impossible.</label>
<label><input type="radio" name="q23" value="3"> The Trinity is an illusion.</label>
<label><input type="radio" name="q23" value="4"> The Trinity is the same as Totality.</label>
<label><input type="radio" name="q23" value="5"> The Trinity is the same as Origin.</label>
</div>
`,
answer: 1
}
];
// ================================================================
// LOGIC
// ================================================================
let currentStep = 0;
const totalSteps = steps.length;
const stepContainer = document.getElementById('stepContainer');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
const stepIndicator = document.getElementById('stepIndicator');
const progressFill = document.getElementById('progressFill');
const progressText = document.getElementById('progressText');
let stepCompleted = new Array(totalSteps).fill(false);
// --------------------------------------------------------------
// Render step
// --------------------------------------------------------------
function renderStep(index) {
const step = steps[index];
if (!step) return;
const partClass = step.part === 'Part I' ? 'part1' :
step.part === 'Part II' ? 'part2' : '';
let html = `
<div class="step-block ${partClass}">
<div class="step-number ${partClass}">Step ${index} of ${totalSteps-1} β ${step.part}</div>
<div class="step-title">${step.title}</div>
<div class="step-explanation">${step.explanation}</div>
<div class="question-box" id="questionBox${index}">
${step.question_html}
<button class="qsubmit" data-step="${index}">Check answer</button>
<div class="qfeedback" id="feedback${index}"></div>
</div>
</div>
`;
stepContainer.innerHTML = html;
const submitBtn = document.querySelector(`.qsubmit[data-step="${index}"]`);
if (submitBtn) {
submitBtn.addEventListener('click', function(e) {
checkAnswer(index);
});
}
const questionBox = document.getElementById(`questionBox${index}`);
if (questionBox) {
const radioInputs = questionBox.querySelectorAll('input[type="radio"]');
radioInputs.forEach(input => {
input.addEventListener('keydown', function(e) {
if (e.key === 'Enter') {
e.preventDefault();
checkAnswer(index);
}
});
});
}
updateNav(index);
updateProgress(index);
if (stepCompleted[index]) {
const feedback = document.getElementById(`feedback${index}`);
if (feedback) {
feedback.className = 'qfeedback correct';
feedback.textContent = 'β
Correct! You have already completed this step.';
feedback.style.display = 'block';
}
const submitBtn2 = document.querySelector(`.qsubmit[data-step="${index}"]`);
if (submitBtn2) submitBtn2.disabled = true;
}
document.querySelector('.step-block').scrollIntoView({ behavior: 'smooth', block: 'start' });
}
// --------------------------------------------------------------
// Check answer
// --------------------------------------------------------------
function checkAnswer(index) {
if (stepCompleted[index]) return;
const step = steps[index];
const questionBox = document.getElementById(`questionBox${index}`);
const feedback = document.getElementById(`feedback${index}`);
const selected = questionBox.querySelector('input[type="radio"]:checked');
if (!selected) {
feedback.className = 'qfeedback wrong';
feedback.textContent = 'β Please select an answer.';
feedback.style.display = 'block';
return;
}
const userAnswer = parseInt(selected.value);
const isCorrect = (userAnswer === step.answer);
if (isCorrect) {
feedback.className = 'qfeedback correct';
feedback.textContent = 'β
Correct! You may proceed to the next step.';
feedback.style.display = 'block';
stepCompleted[index] = true;
const submitBtn = questionBox.querySelector('.qsubmit');
if (submitBtn) submitBtn.disabled = true;
const radios = questionBox.querySelectorAll('input[type="radio"]');
radios.forEach(r => r.disabled = true);
updateNav(index);
updateProgress(index);
if (stepCompleted.every(v => v === true)) {
setTimeout(() => {
alert('π Congratulations! You have successfully completed the entire tutorial!');
}, 400);
}
} else {
feedback.className = 'qfeedback wrong';
feedback.textContent = 'β Incorrect. Please read the step again and try again.';
feedback.style.display = 'block';
}
}
// --------------------------------------------------------------
// Navigation
// --------------------------------------------------------------
function updateNav(index) {
if (index > 0) {
prevBtn.className = '';
prevBtn.style.pointerEvents = 'auto';
prevBtn.style.opacity = '1';
} else {
prevBtn.className = 'disabled';
prevBtn.style.pointerEvents = 'none';
prevBtn.style.opacity = '0.5';
}
if (index < totalSteps - 1 && stepCompleted[index]) {
nextBtn.className = '';
nextBtn.style.pointerEvents = 'auto';
nextBtn.style.opacity = '1';
nextBtn.textContent = 'Next β';
} else if (index === totalSteps - 1 && stepCompleted[index]) {
nextBtn.className = '';
nextBtn.style.pointerEvents = 'auto';
nextBtn.style.opacity = '1';
nextBtn.textContent = 'π Done β back to entry page';
nextBtn.href = 'index.html';
} else {
nextBtn.className = 'disabled';
nextBtn.style.pointerEvents = 'none';
nextBtn.style.opacity = '0.5';
if (index === totalSteps - 1) {
nextBtn.textContent = 'π Final step β complete all steps';
} else {
nextBtn.textContent = 'Next β (please answer the question first)';
}
}
stepIndicator.textContent = `${index} / ${totalSteps-1}`;
}
// --------------------------------------------------------------
// Progress
// --------------------------------------------------------------
function updateProgress(index) {
const completedCount = stepCompleted.filter(v => v === true).length;
const percent = (completedCount / totalSteps) * 100;
progressFill.style.width = `${percent}%`;
progressText.textContent = `Step ${index} of ${totalSteps-1} β ${completedCount}/${totalSteps} completed`;
}
// --------------------------------------------------------------
// Event listeners
// --------------------------------------------------------------
prevBtn.addEventListener('click', function(e) {
e.preventDefault();
if (currentStep > 0) {
currentStep--;
renderStep(currentStep);
}
});
nextBtn.addEventListener('click', function(e) {
e.preventDefault();
if (currentStep < totalSteps - 1 && stepCompleted[currentStep]) {
currentStep++;
renderStep(currentStep);
} else if (currentStep === totalSteps - 1 && stepCompleted[currentStep]) {
window.location.href = 'index.html';
}
});
// --------------------------------------------------------------
// Init
// --------------------------------------------------------------
renderStep(0);
</script>
</body>
</html>