Argument - The central object of study in informal logic; a series of statements (premises) intended to determine the degree of truth of another statement (the conclusion)
Enthymeme - An argument in which one premise is not explicitly stated, a common feature of real-world reasoning
Criteria for Argument Evaluation
Fallacy - The use of invalid or otherwise faulty reasoning in the construction of an argument that may appear to be well-reasoned if unnoticed
Category mistake - The broader application of informal logic and other skills (like analysis and self-reflection) to decide what to believe or do
Formal system - An abstract structure and formalization of an axiomatic system used for deducing, using rules of inference, theorems from axioms by a set of inference rules
Gödel's incompleteness theorems - The two theorems of mathematical logic that demonstrate the inherent limitations of every formal axiomatic system capable of modelling basic arithmetic
Logic Principles
De Morgan's laws - A pair of transformation rules that are both valid rules of inference
Law of noncontradiction - The law that states that for any given proposition, the proposition and its negation cannot both be simultaneously true
Law of excluded middle - The principle that for every proposition, either this proposition or its negation is true
Peirce's law - The principle in classical logic that the law of excluded middle holds for any proposition
Proof by contradiction - A form of indirect proof that establishes the truth of a proposition by showing that assuming the proposition to be false leads to a contradiction
Logical Systems
Propositional calculus - A branch of logic that deals with propositions (which can be true or false) and relations between propositions, including the construction of arguments based on them
conjunction, disjunction, implication, biconditional and negation
Tautology - A formula that is true regardless of the interpretation of its component terms, with only the logical constants having a fixed meaning
First order logic - A collection of formal systems used in mathematics, philosophy, linguistics, and computer science
universal quantification and existential quantification
Higher order logic - A form of logic that is distinguished from first-order logic by additional quantifiers and, sometimes, stronger semantics
Modal logic - A type of logic that is used to represent statements about possibility and necessity
Branches of Mathematical Logic
Set theory - The branch of mathematical logic that studies sets, which can be informally described as collections of objects
Naive set theory
Set - A collection of different things; these things are called elements or members of the set and are typically mathematical objects of any kind
Function (a.k.a. Map) - A binary relation between two sets that associates every element of the first set to exactly one element of the second set
Idempotence - The property of certain operations in which they can be applied multiple times without changing the result beyond the initial application
Partition of a set - A grouping of a set's elements into non-empty, disjoint subsets (called "blocks" or "cells") such that every element is in exactly one subset
Equivalence relation - A binary relation (reflexive, symmetric, and transitive) that partitions a set into disjoint equivalence classes
Axiomatic set theory
Zermelo–Fraenkel set theory - An axiomatic system that was proposed in the early twentieth century in order to formulate a theory of sets free of paradoxes such as Russell's paradox
Ordinals & Cardinals
Type Theory - A formal system that provides an alternative foundation for mathematics (like Set Theory) and is the basis for typed functional programming and proof assistants.
Proof Theory - A major branch of mathematical logic that represents proofs as formal mathematical objects, facilitating their analysis by mathematical techniques
Natural deduction - A kind of proof calculus in which logical reasoning is expressed by inference rules closely related to the "natural" way of reasoning
Computability Theory - A branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees
Lambda calculus - A formal system in mathematical logic for expressing computation based on function abstraction and application
Turing machine - A mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules
Model Theory - The study of the relationship between formal theories (collections of sentences in a formal language) and their models (structures in which the sentences are true)
Applications
Constraint satisfaction problem - Mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations
Automated theorem proving - A subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs
Formal verification - the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics
Hoare logic - A formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs
Tools and Resources
Stanford Encyclopedia of Philosophy - A reference work that organizes scholars in philosophy and related fields from around the world to create and maintain up-to-date content
SMT-LIB - A command language for interacting with SMT solvers via a textual interface
MiniZinc - A free and open-source constraint modeling language
P - A state machine based programming language for formally modeling and specifying complex distributed systems
Lean - An interactive theorem prover and programming language based on the Calculus of Constructions
Docling - A powerful library which simplifies document processing, parsing diverse formats
Formats
PDF - A file format developed by Adobe to present documents in a manner independent of application software, hardware, and operating systems
PDF/A - An ISO-standardized version of the Portable Document Format (PDF) specialized for use in the archiving and long-term preservation of electronic documents
Office Open XML - A zip-based XML-based file format for representing spreadsheets, charts, presentations and word processing documents
OpenDocument - A zip-compressed, XML-based file format for spreadsheets, charts, presentations and word-processing documents
tkinter - The standard Python interface to the Tcl/Tk GUI toolkit
CustomTkInter - A python UI-library based on Tkinter, which provides new, modern and fully customizable widgets
GTK - A free and open-source cross-platform widget toolkit for creating graphical user interfaces
pygobject - A set of Python bindings for the GLib, GObject, GIO and GTK object-oriented C libraries
Compiled & Canvas-Based (Custom Rendering)
Flutter - An open-source UI software development kit created by Google
Slint - A declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps
Gio - A library for writing cross-platform immediate mode GUI-s in Go
Fyne - An easy to learn toolkit for creating graphical apps for desktop, mobile and web
Web-Technology Based
Native Widget Brigde
React Native - A framework for building native apps with React
Expo - A framework and a platform for universal React applications that run natively on Android, iOS, and the web
Chromium Bundling
Electron - A framework for building desktop applications using JavaScript, HTML, and CSS
System WebView (Hybrid)
Tauri - A toolkit that helps developers make applications for the major desktop platforms
Microsoft Edge WebView2 - A control that allows you to embed web technologies (HTML, CSS, and JavaScript) in your native apps by using Microsoft Edge as the rendering engine
QR code payment - A contactless payment method where a payment is performed by scanning a QR code from a mobile app
Backend-as-a-Service (BaaS)
Firebase - An app development platform that helps you build and grow apps and games users love
Supabase - A Postgres development platform that provides a database, authentication, instant APIs, edge functions, real-time subscriptions, storage, and vector embeddings
AWS Amplify - A complete solution that lets frontend web and mobile developers easily build, ship, and host full-stack applications on AWS
CLI for Microsoft 365 - A cross-platform command line interface that enables you to manage your Microsoft 365 tenant and SharePoint Framework projects on any platform
PnPjs - A collection of fluent libraries for consuming SharePoint, Graph, and Office 365 REST APIs
Microsoft Graph - The gateway to data and intelligence in Microsoft 365
Microsoft Teams JavaScript client library - A library that helps you create hosted experiences in Teams, Microsoft 365 app, and Outlook, where your app content is hosted in an iFrame
SharePoint Framework (SPFx) - A page and web part model that provides full support for client-side SharePoint development, easy integration with SharePoint data, and extending Microsoft Teams and Microsoft Viva
Google Workspace Tools
Google Workspace CLI - A command-line tool for Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and more, dynamically built from Google Discovery Service and including AI agent skills
Internet of things (IoT) - The network of physical objects—'things'—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet
Edge computing - A distributed computing paradigm that brings computation and data storage closer to the sources of data
Machine to machine - The direct communication between devices using any communications channel, including wired and wireless
Firmware - A specific class of computer software that provides the low-level control for a device's specific hardware
Over-the-air update - The wireless delivery of new software, firmware, or other data to mobile devices
Communication Standards
Wi-Fi - A family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access
Bluetooth Low Energy - A wireless personal area network technology designed to provide considerably reduced power consumption and cost while maintaining a similar communication range to classic Bluetooth
Zigbee - An IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios
Near-field communication - A set of communication protocols that enables communication between two electronic devices over a distance of 4 cm (1+1⁄2 in) or less
Devices
Raspberry Pi - A small, affordable computer for you to use and learn with
PaaS
Azure IoT Hub - A managed cloud-based service that serves as a central message hub for communication between an IoT application and its connected devices
AWS IoT Greengrass - An open-source edge runtime and cloud service for building, deploying, and managing device software