garywelz/programming_framework
0
1{2 "schemaVersion": "1.0",3 "discourse": {4 "id": "combinatorics",5 "name": "Combinatorics",6 "subject": "discrete_mathematics",7 "variant": "classical",8 "description": "Counting principles: sum and product rules, permutations (with/without repetition), combinations, binomial theorem, pigeonhole principle, inclusion-exclusion, derangements.",9 "structure": {10 "axioms": 0,11 "definitions": 3,12 "theorems": 1113 }14 },15 "metadata": {16 "created": "2026-03-15",17 "lastUpdated": "2026-03-15",18 "version": "1.0.0",19 "license": "CC BY 4.0",20 "authors": [21 "Welz, G."22 ],23 "methodology": "Programming Framework",24 "citation": "Welz, G. (2026). Combinatorics Dependency Graph. Programming Framework.",25 "keywords": [26 "combinatorics",27 "permutations",28 "combinations",29 "counting",30 "binomial theorem"31 ]32 },33 "sources": [34 {35 "id": "dmoi",36 "type": "primary",37 "title": "Discrete Mathematics: An Open Introduction",38 "url": "https://discrete.openmathbooks.org/dmoi4/sec_counting-combperm.html",39 "notes": "Counting principles"40 },41 {42 "id": "mathisfun",43 "type": "digital",44 "title": "Combinations and Permutations",45 "url": "https://www.mathsisfun.com/combinatorics/combinations-permutations.html",46 "notes": "Formulas"47 }48 ],49 "nodes": [50 {51 "id": "DefFact",52 "type": "definition",53 "label": "Factorial: n! = n(n-1)...1, 0!=1",54 "shortLabel": "DefFact",55 "short": "Factorial",56 "colorClass": "definition"57 },58 {59 "id": "DefSum",60 "type": "definition",61 "label": "Sum principle: disjoint choices add (OR)",62 "shortLabel": "DefSum",63 "short": "Sum principle",64 "colorClass": "definition"65 },66 {67 "id": "DefProd",68 "type": "definition",69 "label": "Product principle: sequential choices multiply (AND)",70 "shortLabel": "DefProd",71 "short": "Product principle",72 "colorClass": "definition"73 },74 {75 "id": "PermNoRep",76 "type": "theorem",77 "label": "P(n,r) = n!/(n-r)! arrangements of r from n",78 "shortLabel": "PermNoRep",79 "short": "Permutations no rep",80 "colorClass": "theorem"81 },82 {83 "id": "PermRep",84 "type": "theorem",85 "label": "n^r arrangements of r from n with repetition",86 "shortLabel": "PermRep",87 "short": "Permutations with rep",88 "colorClass": "theorem"89 },90 {91 "id": "CombNoRep",92 "type": "theorem",93 "label": "C(n,r) = n!/(r!(n-r)!) = P(n,r)/r!",94 "shortLabel": "CombNoRep",95 "short": "Combinations",96 "colorClass": "theorem"97 },98 {99 "id": "CombRep",100 "type": "theorem",101 "label": "C(n+r-1,r) ways to choose r from n with rep",102 "shortLabel": "CombRep",103 "short": "Combinations with rep",104 "colorClass": "theorem"105 },106 {107 "id": "BinomThm",108 "type": "theorem",109 "label": "(a+b)^n = sum C(n,k) a^k b^(n-k)",110 "shortLabel": "BinomThm",111 "short": "Binomial theorem",112 "colorClass": "theorem"113 },114 {115 "id": "Pascal",116 "type": "theorem",117 "label": "C(n,k) = C(n-1,k-1) + C(n-1,k)",118 "shortLabel": "Pascal",119 "short": "Pascal identity",120 "colorClass": "theorem"121 },122 {123 "id": "Pigeonhole",124 "type": "theorem",125 "label": "n+1 objects in n boxes implies one box has 2+",126 "shortLabel": "Pigeonhole",127 "short": "Pigeonhole principle",128 "colorClass": "theorem"129 },130 {131 "id": "InclExcl",132 "type": "theorem",133 "label": "|A union B| = |A| + |B| - |A intersect B|",134 "shortLabel": "InclExcl",135 "short": "Inclusion-exclusion",136 "colorClass": "theorem"137 },138 {139 "id": "InclExcl3",140 "type": "theorem",141 "label": "Inclusion-exclusion for 3 sets",142 "shortLabel": "InclExcl3",143 "short": "Incl-excl 3 sets",144 "colorClass": "theorem"145 },146 {147 "id": "Derange",148 "type": "theorem",149 "label": "D(n) = n! sum (-1)^k/k! derangements",150 "shortLabel": "Derange",151 "short": "Derangements",152 "colorClass": "theorem"153 },154 {155 "id": "Stirling2",156 "type": "theorem",157 "label": "S(n,k) = partitions of n into k nonempty sets",158 "shortLabel": "Stirling2",159 "short": "Stirling numbers",160 "colorClass": "theorem"161 }162 ],163 "edges": [164 {165 "from": "DefFact",166 "to": "PermNoRep"167 },168 {169 "from": "DefProd",170 "to": "PermNoRep"171 },172 {173 "from": "DefProd",174 "to": "PermRep"175 },176 {177 "from": "PermNoRep",178 "to": "CombNoRep"179 },180 {181 "from": "DefFact",182 "to": "CombNoRep"183 },184 {185 "from": "CombNoRep",186 "to": "CombRep"187 },188 {189 "from": "CombNoRep",190 "to": "BinomThm"191 },192 {193 "from": "CombNoRep",194 "to": "Pascal"195 },196 {197 "from": "DefSum",198 "to": "Pigeonhole"199 },200 {201 "from": "DefSum",202 "to": "InclExcl"203 },204 {205 "from": "InclExcl",206 "to": "InclExcl3"207 },208 {209 "from": "InclExcl",210 "to": "Derange"211 },212 {213 "from": "PermNoRep",214 "to": "Derange"215 },216 {217 "from": "DefSum",218 "to": "Stirling2"219 },220 {221 "from": "DefProd",222 "to": "Stirling2"223 }224 ],225 "colorScheme": {226 "axiom": {227 "fill": "#e74c3c",228 "stroke": "#c0392b"229 },230 "definition": {231 "fill": "#3498db",232 "stroke": "#2980b9"233 },234 "theorem": {235 "fill": "#1abc9c",236 "stroke": "#16a085"237 }238 }239}