User contributions for Bfh-sts
Jump to navigation
Jump to search
20 October 2025
- 14:4414:44, 20 October 2025 diff hist +3,170 N Control Flow: CMP, Jumps, Calls & Syscalls Created page with "= Control Flow: CMP, Jumps, Calls & Syscalls = This page explains how the CPU executes instructions conditionally, how it branches to other code locations, and how it calls functions or system routines. == Why control flow is needed == So far, we’ve seen how to move data and perform arithmetic. However, programs must make decisions — for example, execute one piece of code if a value is positive and another if it’s negative. To do this, the CPU must compare val..." current
- 14:4414:44, 20 October 2025 diff hist +2,910 N Instruction Set Basics: MOV, Arithmetic & Logic Created page with "= Instruction Set Basics: MOV, Arithmetic & Logic = This page introduces the concept of the CPU instruction set, the fundamental operations available to all programs, and the most common x86-64 instructions for data movement, arithmetic, and logic. == What is an instruction set == A CPU executes binary-encoded instructions stored in memory. Each instruction defines a specific operation that the processor can perform directly. The complete list of supported instructi..." current
- 14:4414:44, 20 October 2025 diff hist +2,584 N Flags and Instruction Pointer (RFLAGS & RIP) Created page with "= Flags and Instruction Pointer (RFLAGS & RIP) = This page explains two special control elements of the CPU: the flag register, which stores status bits set by operations, and the instruction pointer, which tracks the flow of program execution. == Flags == A flag is a single bit representing a specific condition that resulted from the last CPU operation. Flags are grouped together in a special register: * FLAGS (16-bit) * EFLAGS (32-bit) * RFLAGS (64-bit) Flags are a..." current
- 14:4414:44, 20 October 2025 diff hist +3,294 N x86-64 Registers: Types, Sizes & Views (RAX/EAX/AX/AH/AL) Created page with "= x86-64 Registers: Types, Sizes & Views (RAX/EAX/AX/AH/AL) = This page describes the types of CPU registers, their evolution in the x86 architecture, and how modern 64-bit CPUs view and manage them. == Register overview == Registers are named memory cells inside the CPU. They have no memory addresses but are directly referenced by name. Their names and functions depend on the processor’s instruction set architecture (ISA). On x86 and x86-64 architectures, there..." current
- 14:4414:44, 20 October 2025 diff hist +2,871 N Programming Model: CPU, ALU, Registers & Instruction Cycle Created page with "= Programming Model: CPU, ALU, Registers & Instruction Cycle = This page introduces the structure and operation of a CPU, focusing on the arithmetic logic unit (ALU), registers, and the instruction cycle that drives program execution. == Arithmetic Logic Unit (ALU) == A computer’s name derives from its ability to compute. The Arithmetic Logic Unit (ALU) is the part of the CPU responsible for: * Performing arithmetic operations (addition, subtraction, multiplication,..." current
- 14:4314:43, 20 October 2025 diff hist +716 N Category:Programming Model Created page with "= Overview = This category covers the programming model at the CPU level: ALU operations, registers and their views, flags, instruction flow, instruction set basics, and the minimal toolchain for assembling, linking, and debugging on x86-64. == Pages == * Programming Model: CPU, ALU, Registers & Instruction Cycle * x86-64 Registers: Types, Sizes & Views (RAX/EAX/AX/AH/AL) * Flags and Instruction Pointer (RFLAGS & RIP) * Instruction Set Basics: MOV, Arithme..." current
- 14:4314:43, 20 October 2025 diff hist +4,848 N Registers Created page with "= Understanding x86 and x86-64 Registers = Registers are the CPU’s **fastest storage locations**. They hold temporary values, addresses, and control information used during computation. This page explains the structure and hierarchy of registers on x86 and x86-64 CPUs — including the confusing relationship between AX, EAX, and RAX. == 1. What is a Register? == A **register** is a very small, very fast memory cell inside the CPU. Unlike RAM, registers are direc..." current
- 14:4314:43, 20 October 2025 diff hist +2,782 N Workflow in Practice: Edit–Assemble–Link–Run–Debug Created page with "= Workflow in Practice: Edit–Assemble–Link–Run–Debug = This page summarizes the entire development process for assembly programs, showing how editing, assembling, linking, running, and debugging fit together. == The complete workflow == A typical software development process in low-level programming consists of five main phases: 1. **Editing** – Writing and commenting the source code. 2. **Assembling** – Translating the human-readable source into machine..." current
- 14:4214:42, 20 October 2025 diff hist +2,963 N Build Automation with make: Rules, Targets & Makefiles Created page with "= Build Automation with make: Rules, Targets & Makefiles = This page introduces build automation with the `make` tool, which simplifies and automates compiling and linking assembly or C programs. == Why build automation? == Large programs consist of many files and dependencies. Building each file manually with assembler and linker commands becomes repetitive and error-prone. Build automation tools solve this problem by: * Automating the steps required to build soft..." current
- 14:4214:42, 20 October 2025 diff hist +2,929 N Build & Debug Basics: Warnings, Errors, gdb Intro Created page with "= Build & Debug Basics: Warnings, Errors, gdb Intro = This page explains how to handle warnings and errors during assembly and linking, and introduces the concept of debugging. == Assembling and linking workflow == Typical workflow when writing assembly programs: 1. Edit and comment the source code (e.g. eatsyscall64.asm). 2. Assemble the source to produce an object file (`.o`). 3. Link object files to create an executable. 4. Run and test the executable. Each..." current
- 14:4214:42, 20 October 2025 diff hist +2,714 N Hands-on Example: eatsyscall64 (NASM + ld) Created page with "= Hands-on Example: eatsyscall64 (NASM + ld) = This page demonstrates a complete example of creating, assembling, linking, and running a simple assembly program on Linux using NASM and ld. == Example overview == The program prints the message "Eat at Joe’s!" to standard output and exits. It directly uses Linux system calls to interact with the kernel. == Source code: eatsyscall64.asm == Below is the full source code of the example program. SECTION .data ; Section..." current
- 14:4214:42, 20 October 2025 diff hist +2,488 N From Source to Executable: Object Modules, Linking & ELF Created page with "= From Source to Executable: Object Modules, Linking & ELF = This page describes how source code becomes an executable program, what object modules are, and how linking combines them into a runnable file. == From source to binary == A program written in assembly language must be translated before a computer can execute it. The process involves two major steps: 1. Assembling – translating human-readable mnemonics into machine code. 2. Linking – combining one or m..." current
- 14:4214:42, 20 October 2025 diff hist +2,394 N Machine Code & Assembly: Mnemonics, Assemblers, ISA Created page with "= Machine Code & Assembly: Mnemonics, Assemblers, ISA = This page explains what machine code is, how assembly language represents it symbolically, and how an assembler translates it into executable code. == Machine code == A computer program is a sequence of instructions that the CPU executes. Each instruction is encoded as a pattern of bits that the CPU understands. Example: The bit pattern 10011100 in x86 machine language tells the CPU to push the flags registe..." current
- 14:4114:41, 20 October 2025 diff hist +3,275 N Development Process: Overview & History of Programming Created page with "= Development Process: Overview & History of Programming = This page introduces the origins of programming and explains how programming evolved from hardware manipulation to high-level languages. == What is programming? == Programming means instructing a computer what to do. This is usually done using high-level programming languages such as Kotlin, C#, or Python. High-level languages abstract away the hardware and make code easier to read and write. However, und..." current
- 14:4114:41, 20 October 2025 diff hist +642 N Category:Development Process Created page with "This category covers the programming workflow from machine code and assembly to object files, linking, debugging, and build automation with make. == Pages == * Development Process: Overview & History of Programming * Machine Code & Assembly: Mnemonics, Assemblers, ISA * From Source to Executable: Object Modules, Linking & ELF * Hands-on Example: eatsyscall64 (NASM + ld) * Build & Debug Basics: Warnings, Errors, gdb Intro * Build Automation with mak..." current
- 14:4114:41, 20 October 2025 diff hist +3,286 N Troubleshooting Encodings: Mojibake, Detection & Conversion Tools Created page with "= Character Encoding in Practice = Character encoding defines how text is represented as bytes in memory or files. Understanding it is crucial for preventing data corruption, display errors, and security issues. == Why encoding matters == Every text you see on a screen — whether a document, website, or code — is stored as bytes. When software reads text, it must interpret those bytes using the **correct encoding**. If it uses the wrong one, characters appear g..." current
- 14:4114:41, 20 October 2025 diff hist +3,980 N Working with Text Files vs Binary Files (Editors, Formats, Tools) Created page with "= Binary vs Text Files = Computers store all data as binary — sequences of bits (0 and 1). However, not all binary data is meant to be read by humans. This page explains the difference between **binary files** and **text files**, how they are encoded, and why the distinction matters. == File types == Files can be divided into two broad categories: {| class="wikitable" ! File Type !! Examples !! Description |- | **Text files** || .txt, .html, .csv, .md, .c, .java..." current
- 14:4014:40, 20 October 2025 diff hist +4,905 N Unicode: Concepts, Planes & 5-Layer Architecture (ACR/CCS/CEF/CES/TES) Created page with "= Unicode and Character Encoding = Unicode is the global standard that unifies all text characters across languages and writing systems. It assigns every symbol — letters, digits, punctuation, emojis, and control marks — a unique number called a *code point*. This allows all languages to coexist in a single consistent system. == Why Unicode was needed == Before Unicode, computers used many different and incompatible encodings such as ASCII, ISO-8859, and Windows..." current
- 14:4014:40, 20 October 2025 diff hist +4,049 N Legacy Encodings & Code Pages (EBCDIC, ISO-8859, CP1252) Created page with "= Legacy Encodings & Code Pages (EBCDIC, ISO-8859, CP1252) = ASCII was revolutionary but limited to English. As computing spread internationally, new encodings extended ASCII to support more characters. This page explains these historical encodings, how they evolved, and why Unicode replaced them. == The problem with ASCII == ASCII uses 7 bits per character, giving only 128 symbols. This excludes letters with accents (é, ä, ñ), non-Latin alphabets (Cyrillic, Gree..." current
- 14:4014:40, 20 October 2025 diff hist +3,823 N ASCII: Code Chart, Control Codes & End-of-Line Conventions Created page with "= ASCII: Code Chart, Control Codes & End-of-Line Conventions = This page explains the ASCII standard — how it encodes characters as numbers, the role of control codes, and how text structure (like newlines) is represented. == What is ASCII == ASCII (American Standard Code for Information Interchange) was developed in the early 1960s to unify how computers represent text. Before ASCII, each manufacturer used its own incompatible encoding. ASCII defines a mapping bet..." current
- 14:4014:40, 20 October 2025 diff hist +3,047 N Typographic Concepts: Graphemes, Glyphs, Ligatures, Fonts Created page with "= Typographic Concepts: Graphemes, Glyphs, Ligatures, Fonts = Before text can be stored digitally, it must first be understood linguistically and visually. This page introduces the key typographic and linguistic terms that underlie all character encoding systems. == Grapheme == A grapheme is the smallest unit of a writing system of a given language. In computing, it roughly corresponds to what we call a **character**. * Examples: * “A” — Latin alphabet grap..." current
- 14:4014:40, 20 October 2025 diff hist +4,756 N Text & Data Types: Interpreting Bits Created page with "= Text & Data Types: Interpreting Bits = This page explains what a data type is, how the same bit pattern can mean very different things, and why consistent interpretation is critical for text processing and security. == Why data types matter == Inside a computer, everything is stored as 0s and 1s. The meaning comes from the data type: how we interpret the bit pattern and which operations we allow on it. Typical questions: * 01000010011010010110010101101100 — is this..." current
- 14:3914:39, 20 October 2025 diff hist +708 N Category:Text Created page with "= Overview = This category covers how text is represented in computers: from ASCII and legacy code pages to Unicode and UTF encodings, plus practical handling of text vs. binary files. == Pages == * Text & Data Types: Interpreting Bits * Typographic Concepts: Graphemes, Glyphs, Ligatures, Fonts * ASCII: Code Chart, Control Codes & End-of-Line Conventions * Legacy Encodings & Code Pages (EBCDIC, ISO-8859, CP1252) * Unicode: Concepts, Planes & 5-Layer Ar..." current
- 14:3914:39, 20 October 2025 diff hist +3,548 N Floating-Point in Practice: Absorption, Non-Associativity and Comparisons Created page with "= Floating-Point in Practice: Absorption, Non-Associativity and Comparisons = Floating-point arithmetic in computers is limited by precision, which can lead to rounding errors and inconsistent results when performing sequential operations. This page discusses key pitfalls such as absorption and equality comparison issues, and how to handle them properly. == Non-Associativity == Floating-point operations are **not associative**, meaning that `(a + b) + c` may produce a d..." current
- 14:3914:39, 20 October 2025 diff hist +3,973 N IEEE 754 Formats, Special Values and Rounding Modes Created page with "= IEEE 754 Formats, Special Values and Rounding Modes = This page covers the standard IEEE 754 formats for floating-point numbers, including their bit structure, special values, and rounding behaviors. == IEEE 754 Formats == IEEE 754 defines several binary floating-point formats. The three most common are: <syntaxhighlight lang='text'> Format | Bits | Sign | Exponent | Mantissa | Bias ------- | ---- | ---- | -------- | -------- | ---- Single pr..." current
- 14:3814:38, 20 October 2025 diff hist +3,941 N IEEE 754 Floating Point: Mantissa, Exponent, Bias and Hidden Bit Created page with "= IEEE 754 Floating Point: Mantissa, Exponent, Bias and Hidden Bit = This page explains the IEEE 754 standard for floating-point numbers, which defines how real numbers are represented and calculated on modern CPUs. == Motivation == Fixed-point numbers have constant precision, which limits range and accuracy. For scientific and engineering calculations, numbers may vary from very large to very small. To handle this efficiently, computers use *floating-point represen..." current
- 14:3814:38, 20 October 2025 diff hist +3,030 N Fixed-Point Numbers & Binary Fractions: Representation and Conversion Created page with "= Fixed-Point Numbers & Binary Fractions: Representation and Conversion = This page explains fixed-point numbers, how fractions are represented in binary, and how to convert between decimal and binary fixed-point notation. == Fixed-point idea == Fixed-point numbers are used to represent fractional values when floating-point hardware is unavailable or unnecessary. The idea: reserve part of the bits for the integer part and part for the fractional part. The position o..." current
- 14:3814:38, 20 October 2025 diff hist +2,672 N Integer Overflow & Bit-Pattern Interpretation (Signed vs Unsigned) Created page with "= Integer Overflow & Bit-Pattern Interpretation (Signed vs Unsigned) = This page explains integer overflow, how bit patterns can represent different values depending on interpretation, and why signed and unsigned integers share the same arithmetic operations. == Integer overflow == An integer has a fixed number of bits. When an arithmetic operation exceeds the largest representable value, it wraps around to the smallest one. This is called overflow. Example with 8-..." current
- 14:3714:37, 20 October 2025 diff hist +3,139 N Signed Integers & Two’s Complement: Concept, Negation, Arithmetic, Ranges Created page with "= Signed Integers & Two’s Complement: Concept, Negation, Arithmetic, Ranges = This page explains in depth how signed integers are represented in two’s complement form, how to perform calculations with them, and how to interpret value ranges. == Concept of two’s complement == Two’s complement is the standard system used by modern computers to represent signed integers. It allows addition and subtraction to work identically for positive and negative numbers. Th..." current
- 14:3714:37, 20 October 2025 diff hist +3,691 N Representing Numbers: Signed, Unsigned, Fixed- and Floating-Point Created page with "= Representing Numbers: Signed, Unsigned, Fixed- and Floating-Point = This page introduces how numerical values are represented in computers. It explains unsigned and signed integers, overflow, fixed-point and floating-point numbers, and why different representations exist. == Positive and negative numbers == So far, we have considered only positive integers. Example: 15₁₀ = 0x0F (8-bit) or 0x0000000F (32-bit). But how do we represent negative values such as −1..." current
- 14:3714:37, 20 October 2025 diff hist +792 N Category:Representing Numerical Values Created page with "= Overview= This section covers signed and unsigned integers, two’s complement, fixed-point, and IEEE 754 floating-point representation, including rounding and comparison pitfalls. == Pages == * Representing Numbers: Signed, Unsigned, Fixed- and Floating-Point * Signed Integers & Two’s Complement: Concept, Negation, Arithmetic, Ranges * Integer Overflow & Bit-Pattern Interpretation (Signed vs Unsigned) * Fixed-Point Numbers & Binary Fractions: Represe..." current
- 14:3614:36, 20 October 2025 diff hist +1,831 N Endianness: Byte Order & Practice Created page with "= Endianness: Byte Order & Practice = This page explains endianness, the order in which bytes of a multi-byte value are stored or transmitted, and why it matters in computing. == Word size and bytes == Modern computers usually have a word size of 32 or 64 bits. If a value is larger than one byte, it must be split across multiple bytes. The question is: which byte comes first when storing or transmitting the value? == Big endian and little endian == * Big endian: th..." current
- 14:3614:36, 20 October 2025 diff hist +1,967 N Memory Sizes & Binary Prefixes Created page with "= Memory Sizes & Binary Prefixes = This page explains how memory sizes are measured, why binary prefixes exist, and how to calculate with them. == Bytes and addressing == The basic unit of memory in computers is the byte (8 bits). Each byte has its own address, independent of the CPU word size. Larger values are built by grouping multiple bytes. == Decimal vs binary multiples == In everyday life, kilo means 1000, mega means 1 000 000, and so on. In computing, pow..." current
- 14:3614:36, 20 October 2025 diff hist +2,734 N Base Conversions: Decimal, Binary, Octal, Hex Created page with "= Base Conversions: Decimal, Binary, Octal, Hex = This page explains how to convert numbers between the most important bases: decimal (10), binary (2), octal (8), and hexadecimal (16). == General method: from any base to decimal == To convert from another base into decimal, expand the number into positional values. Example: 725₈ = 7 × 8² + 2 × 8¹ + 5 × 8⁰ = 7 × 64 + 2 × 8 + 5 × 1 = 448 + 16 + 5 = 469₁₀. == General method: from decimal to anothe..." current
- 14:3614:36, 20 October 2025 diff hist +2,566 N Hexadecimal: Reading, Arithmetic & Shorthand for Binary Created page with "= Hexadecimal: Reading, Arithmetic & Shorthand for Binary = This page introduces the hexadecimal system, explains its role as a shorthand for binary, and shows how to calculate with it. == Introduction == Hexadecimal (often called hex) uses base 16. Digits are 0–9 and A–F, where A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. The number written as 10₁₆ means 16 in decimal. One hex digit represents exactly 4 binary digits (bits). This makes hexadecimal e..." current
- 14:3614:36, 20 October 2025 diff hist +2,308 N Octal: Reading & Conversion Created page with "= Octal: Reading & Conversion = This page introduces the octal numeral system, explains how it relates to binary, and shows how to convert between octal, decimal, and binary. == Introduction == Octal uses base 8. Digits are 0–7. The number written as 10₈ means 8 in decimal. Octal was more common in early computers, especially before hexadecimal became dominant. It is still useful for compactly representing binary numbers grouped in 3 bits. == Positional va..." current
- 14:3514:35, 20 October 2025 diff hist +3,330 N Binary: Bits, Grouping & Powers of Two Created page with "= Binary: Bits, Grouping & Powers of Two = This page explains the binary numeral system in detail, how to read and write binary numbers, and how to use powers of two for calculation. == Introduction == Binary is the most fundamental numeral system in computing. It uses base 2 with the digits 0 and 1 only. Because computer hardware operates with two states (voltage on/off), binary is a natural choice. Examples: * 0₂ = 0₁₀ * 1₂ = 1₁₀ * 10₂ = 2₁₀ * 1..." current
- 14:3514:35, 20 October 2025 diff hist +1,895 N Numeral Systems: Overview & Positional Notation Created page with "= Numeral Systems: Overview & Positional Notation = This page introduces numeral systems, explains why different bases exist, and outlines the principle of positional notation. == Decimal system == Humans use the decimal system with base 10. * Digits are 0–9. * A number is a sequence of digits, where each digit has a positional value. * Example: 123 = 1 × 100 + 2 × 10 + 3 × 1. Other bases are also used in daily life: * Base 12 for hours on a clock. * Base 60 for m..." current
- 14:3414:34, 20 October 2025 diff hist +541 N Category:Numeral Systems Created page with "= Overview = This category covers positional numeral systems used in computing (binary, octal, hexadecimal), conversions between bases, size prefixes, and byte order. == Pages == * Numeral Systems: Overview & Positional Notation * Binary: Bits, Grouping & Powers of Two * Octal: Reading & Conversion * Hexadecimal: Reading, Arithmetic & Shorthand for Binary * Base Conversions: Decimal, Binary, Octal, Hex * Memory Sizes & Binary Prefixes * Endiann..."
- 14:3414:34, 20 October 2025 diff hist +1,518 N GNU/Linux Basics: Kernel, Distros & Install Created page with "= GNU/Linux Basics: Kernel, Distros & Install = This page introduces GNU/Linux as a major Unix-like operating system, explains its structure, and provides a basic overview of installation. == Kernel vs userland == Linux is technically only the kernel, which manages CPU, memory, and I/O resources. The GNU project provides essential tools such as compilers, libraries, and shells. Together they form the GNU/Linux operating system. The kernel is separated from user s..." current
- 14:3414:34, 20 October 2025 diff hist +1,828 N Operating Systems: Evolution, Models & Families Created page with "= Operating Systems: Evolution, Models & Families = This page introduces the responsibilities of an operating system and traces its historical development from early loaders to modern multiuser systems. == Responsibilities of an operating system == An OS manages and abstracts hardware resources. Its core functions include: * Managing processes and CPU time. * Managing memory and enforcing protection. * Handling files and devices. * Providing user interfaces and networki..." current
- 14:3314:33, 20 October 2025 diff hist +1,492 N DMA & System Architectures (Amiga→PC→SoC) Created page with "= DMA & System Architectures (Amiga→PC→SoC) = This page explains how Direct Memory Access (DMA) improves system performance and shows examples of different hardware architectures. == Direct Memory Access (DMA) == In a system without DMA, the CPU must handle every data transfer: # Read data from peripheral into a register. # Write the data from the register into memory. This creates overhead and slows down performance. With DMA, a peripheral can transfer data direc..." current
- 14:3314:33, 20 October 2025 diff hist +1,779 N CPU & Buses: How the CPU Talks to the World Created page with "= CPU & Buses: How the CPU Talks to the World = This page introduces the internal structure of the CPU and explains how it communicates with memory and peripherals through buses. == CPU building blocks == The CPU is the central unit that executes instructions. Its main components are: * Arithmetic Logic Unit (ALU) for arithmetic and logical operations. * Registers for storing temporary values and instruction pointers. * Control logic for decoding instructions and direct..." current
- 14:3314:33, 20 October 2025 diff hist +3,163 N Memory in Practice: Organization, Caches, Alignment, ROM & Storage Created page with "__TOC__ = Memory in Practice: Organization, Caches, Alignment, ROM & Storage = This page explains how modern memory works in practice: how dynamic RAM is organized, why caches are necessary, how alignment affects performance, and how ROM and storage devices differ from RAM. == DRAM organization and access time == Dynamic RAM (DRAM) is arranged in a grid of rows and columns. * To read a bit, a whole row (often thousands of bits) must first be activated. * After activati..." current
- 14:3314:33, 20 October 2025 diff hist +3,917 N Memory: From Relays to DRAM Created page with "= Memory: From Relays to DRAM = This page traces the evolution of memory technology: how information was stored, from mechanical relays to modern transistor-based RAM. It explains why each step was necessary and what trade-offs were involved. == What Is Memory? == In computer science, '''memory''' is any container that holds a pattern (0/1) until it is changed. * Everyday example: a light switch. The switch remembers its position until flipped. * In computers: voltag..." current
- 14:3314:33, 20 October 2025 diff hist +2,318 N Hardware & OS: Overview Created page with "= Hardware & OS: Overview = This page introduces the basic model of a computer and explains how the '''hardware''' and the '''operating system''' interact. It provides the mental map for the following pages. == What is a Computer Built Of? == A computer can be very simple (a microcontroller in an electric toothbrush) or highly complex (a multi-CPU server). In both cases, the core elements are the same: * '''Central Processing Unit (CPU)''': executes instructions (c..." current
- 14:3214:32, 20 October 2025 diff hist +571 N Category:Hardware and Operating Systems Created page with "= Overview = This category is part of ''Computer Science Basics''. It covers core hardware concepts (CPU, memory, I/O) and the essentials of operating systems. == Pages == * Hardware & OS: Overview * Memory: From Relays to DRAM * Memory in Practice: Organization, Caches, Alignment, ROM & Storage * CPU & Buses: How the CPU Talks to the World * DMA & System Architectures (Amiga→PC→SoC) * Operating Systems: Evolution, Models & Families * GNU/L..." current
- 14:3214:32, 20 October 2025 diff hist +1,234 N Tautologies and contradictions Created page with "= Tautologies and contradictions = Tautologies and contradictions are special types of logical formulas that are always true or always false, regardless of the truth values of their components. == Tautologies == A tautology is a statement that evaluates to true under all possible interpretations. Tautologies are useful in proofs and as logical identities. === Examples === * p ∨ ¬p (Law of excluded middle) * (p → q) ∨ (q → p) * (p ∨ q) → (q ∨ p)..." current
- 14:3214:32, 20 October 2025 diff hist +724 N Contraposition Created page with "= Contraposition = Contraposition is a transformation of an implication that produces a logically equivalent statement by reversing and negating its components. == Statement == * p → q ≡ ¬q → ¬p == Explanation == The implication "If p, then q" is equivalent to "If not q, then not p". This is often used in mathematical proofs. == Example == * "If it rains, then the ground is wet" ≡ "If the ground is not wet, then it does not rain". == Truth Table == {..." current
- 14:3114:31, 20 October 2025 diff hist +986 N Implication transformations Created page with "= Implication transformations = Implication can be expressed using other logical operators. These transformations allow ''p → q'' to be rewritten in equivalent forms. == Statements == * p → q ≡ ¬p ∨ q * ¬(p → q) ≡ p ∧ ¬q * p ↔ q ≡ (p → q) ∧ (q → p) == Explanation == * The implication ''p → q'' is equivalent to "not p or q". * The negation of ''p → q'' is equivalent to "p and not q". * Equivalence ''p ↔ q'' can be defined using tw..." current