Academic and Engineering Walkthrough
Formal validity sets a strict standard:
There exists no interpretation where all premises are true and the conclusion is false.
Therefore, the main tool is not a name, but a countermodel. One possible
case with true premises and a false conclusion is sufficient to destroy
the claim to deductive necessity.
flowchart LR
A["Аргумент"] --> B["Заменить содержание символами"]
B --> C{"Есть модель:
посылки истинны,
вывод ложен?"}
C -->|Да| D["Форма невалидна"]
C -->|Нет| E["Контрпример не найден"]
E --> F["Докажите валидность
правилом или семантикой"]
D --> G["Укажите минимальный
контрпример"]
Chapter Rule
One counterexample is sufficient to refute an invalid form. Confirming the validity of an enumeration by examples is insufficient — a general argument or an exhaustive semantics is needed.
1. Consequence Assertion
Example:
Если истёк сертификат, TLS handshake падает.
Handshake падает.
Следовательно, сертификат истёк.
Countermodel:
P = сертификат истёк false
Q = handshake падает true из-за несовместимого cipher suite
Premises are true, conclusion is false.
Diagnostic rule
Consequences are rarely unique to a single cause. Look for other sufficient conditions
for Q.
2. Denying the Ground
Example:
Если запрос пришёл от администратора, он может читать отчёт.
Запрос не от администратора.
Следовательно, читать отчёт нельзя.
Possibly, the auditor has the right.
P → Q
¬Q
∴ ¬P modus tollens
Error Source
A sufficient condition is taken as necessary.
3. Incorrect Handling of Conditional
From:
do:
This is the same logic as asserting a consequence, but the fallacy can occur without
an explicit second premise:
All critical services have on-call, therefore a service with on-call is
critical.
Correct contraposition:
4. Fallacy of Inversion
From:
do:
Converse and inverse are equivalent to each other, but not to the original implication.
5. Disjunct Assertion
For the including ∨ the form is invalid: P and Q may be true together.
В инциденте есть ошибка конфигурации или ошибка кода.
Есть ошибка конфигурации.
Следовательно, ошибки кода нет.
Both are possible.
The form is valid for the exclusive:
6. False exhaustive disjunction
The Disjunctive Syllogism can be formally valid with respect to the premise,
but the premise does not cover the cases:
Либо переписываем систему, либо прекращаем развитие.
Мы не прекращаем развитие.
Следовательно, переписываем.
Form:
valid. The error is in the false first premise: there is gradual modernization,
isolation, module replacement, scope reduction. It is a fallacy of foundation, not
form. The distinction is fundamental.
7. Incompatible Premises
In classical logic, any statement can be derived from a contradiction:
This is the explosion principle (ex falso quodlibet). An argument may be valid and
completely useless if the set of premises is inconsistent.
Engineering requirements example:
Система никогда не хранит персональные данные.
Система обязана показывать историю паспортных данных пользователя.
Before output, a consistent model needs to be restored: perhaps the first statement
relates to the client, the second — to the secure backend; perhaps the requirements
truly conflict.
8. Conjunction Confirmation Fallacy
From the confirmation of one part, a conclusion is drawn about the whole:
Проверка типов прошла.
Следовательно, проверка типов и интеграционные тесты прошли.
Weakening in the opposite direction is valid
9. Fallacy of denying conjunction
De Morgan:
Both conditions are not met together — this means that at least one is not met, not necessarily both.
10. Disjunction Negation Fallacy
Is correctly expanded:
But:
means only that both together are not fulfilled.
In access policy the difference between:
deny if !(admin || auditor)
and:
deny if !admin || !auditor
huge: the second one requires both roles at the same time.
11. Quantifier Permutation
∀x ∃y R(x, y)
∴ ∃y ∀x R(x, y)
Invalid.
У каждого сервиса есть владелец.
Следовательно, существует один владелец всех сервисов.
Antimodel: each service has its own owner.
Backward transition is valid:
∃y ∀x R(x, y)
∴ ∀x ∃y R(x, y)
If there is one common owner, then for each service an owner will be found.
12. Incorrect Quantifier Distribution
All Have P or Q
does not mean:
P for some objects, Q for others.
There exists an object with P or Q
equivalently:
All Have P and Q
equivalently:
The distribution rules are not symmetric; check by semantics, not by visual similarity.
13. Existential Error
∀x(Sx → Px)
∴ ∃x(Sx ∧ Px)
Invalid without ∃x Sx.
Все сервисы с идеальной доступностью бесплатны.
Следовательно, существует бесплатный сервис с идеальной доступностью.
A universal assertion does not create an object.
14. Scope Error
Не каждый инженер одобрил RFC.
Usually:
¬∀x Approve(x) ⟺ ∃x ¬Approve(x)
But not:
The words не, только, всегда, должен, может require parentheses.
15. Modal Fallacies
Possibility into reality
“Service may lose a message” does not mean the loss occurred.
Reality into necessity
«There is one service now» does not mean that architecturally it must be a singleton.
Necessity of consequence
From:
should not:
If the rule is necessary, Q is still necessary only with
the corresponding modality of P and the rules of the chosen modal logic.
Fallacy of ought
From the descriptive:
It is not possible to obtain a normative:
Without a value or normative premise. The current process setup does not
prove that it needs to be preserved.
Formal verification is reliable only for a correct translation.
Phrase:
The service responds quickly if the cache is warm.
may mean:
but not:
The added converse implication will create false fallacies and false proofs.
Always keep nearby:
исходная фраза
словарь атомов
формула
обоснование перевода
Assign P/Q values so that the premises are true, the conclusion is false.
Draw classes or name specific objects.
For Quantifiers
Build a small domain of 1–3 objects and a relation.
Example:
∀x ∃y Likes(x,y)
∴ ∃y ∀x Likes(x,y)
Domain {Аня, Борис}:
Аня любит Аню.
Борис любит Бориса.
Никого одного не любят оба.
Premise is true, conclusion is false.
Null check
if (user !== null || user.isActive) {
// ...
}
You need &&: accessing a field is valid when the object exists and is active.
Feature flag
const allowed = isEmployee || hasBetaAccess;
if (isEmployee) {
assert(!hasBetaAccess); // неверное утверждение дизъюнкта
}
Policy
Экспорт разрешён только с MFA:
Export → MFA
The test checking MFA → Export checks the wrong direction.
Observability
Deploy → Marker
Marker
∴ Deploy
The marker could have been created again or manually.
19. Checklist
- Is the form translated into symbols without amplification?
- Is the implication neither reversed nor inverted?
- Is the necessary condition not taken as sufficient?
- Is the “or” inclusive or exclusive?
- Is the disjunction really exhaustive?
- Are conjunction and disjunction negated according to De Morgan?
- Are the premises compatible?
- Is the order of
∀ and ∃ preserved?
- Has the universal premise not generated a non-existent object?
- Is the scope of negation and the modal operator clear?
- Has the actual not been presented as necessary?
- Is there a small countermodel?
20. Tasks
For each argument:
- Fill out the form;
- find the estimate or model;
- provide the nearest correct conclusion.
A. Если cache hit, база не вызывается. База не вызвана. Значит, был cache hit.
B. Если пользователь owner, он может удалить проект. Он не owner. Значит,
удалить не может.
C. Ошибка в frontend или backend. Ошибка есть во frontend. Значит, backend
исправен.
D. Для каждого PR существует reviewer. Значит, есть reviewer для всех PR.
E. Все сервисы нового поколения имеют SBOM. Значит, некоторые сервисы имеют
SBOM.
F. Система может масштабироваться до N. Значит, сейчас она обрабатывает N.
Sources
What’s next
Not every bad argument breaks after replacing words with variables. The next
group violates relevance: it attacks a person, distorts a position, changes the topic
or offers authority instead of the needed ground.
Relevance Fallacies