Back
Aug 16, 2025 Bas Baudoin

Deciphering Jung's Typology

Jung's concepts represented as a relational psuedo programming language

Note: this article 90% complete so it is a work in progress and contains some drafts and todos

Introduction

  • Despite reading his works for more than 10 years, I find that his concepts often don’t stick very well for me. I theorize several reasons for this. Firstly, Jung reuses existing concepts and gives it his own meaning, such as idea, fantasy, compensation and so forth. Secondly, his conceptual universe is so vast, it will take a lifetime to learn it all. For this article I want to stick to his works on Psychological Types and specifically on the book Dictionary of Analytical Psychology, which is actually a subset of Psychological Types, Collected Works part 6.
  • I found that these concepts are very much rule based and could be explained from a minimal amount of root principles, but due to the way they are explained, even though it’s in a dictionary form, it doesn’t come together for me. Let’s identify these root principles, find the boundaries of the theories and reduce it back to the absolute core by forming it into a pseudo programming language and map their relationships.

Pseudo programming language

  • root_concepts Snake cases are official Jung terms
  • 'defintions' Quotation marks are definitions
  • functions()
  • x -> y means x affects y
  • a <-> b means mutual influence between a and b
  • A | B means one of A or B (exclusive choice in this context)

1. Core concepts

  • These are concepts that are central and will be reused in explaining derived concepts:
  • consciousness = 'field of experience available to awareness'
    unconscious = 'autonomous mental contents outside awareness'
    subject = 'the experiencing standpoint'
    object = 'what is encountered as other-than-self'
    libido = 'psychic energy'
    function = 'basic mode of operation of the mind'
  • From here, we can define central derived terms:
  • psyche = conscious + unconscious
    ego = center(conscious)
  • And:
  •   will = 'psychic energy at disposal of consciousness'
      volition = 'energic process released by conscious motivation'
    
      # Critical distinction
      if motivation == conscious:
          process = will
      else if motivation == unconscious:
          process != will

2. Typology

Attitudes

  • attitude = 'stable preference for where libido tends'
    attitude = introversion | extraversion
    introversion = libido -> subject
    extraversion = libido -> object
  • Or rather:
  • if (introvert) orientation = subject
    if (extravert) orientation = object

Functions

  • function = 'basic mode of operation of the mind'
    function = thinking | feeling | sensation | intuition
  • These 4 functions can be split into two categories. These are important:
  • irrational_function = 'how information is ingested'
    irrational_functions = perceiving functions = sensation | intuition
  • And:
  • rational_function = 'how one processes incoming information'
    rational_functions = judging functions = thinking | feeling
  • So information is processed as such:
  • judgment(perception(x))         # see → decide
  • Short definitions of each of the 4 functions
  • thinking = 'judging by concepts'
    feeling = 'valuing by harmony or worth'
    sensation = 'perceiving concrete facts'
    intuition = 'perceiving possibilities and patterns'
  • Each functions main question:
  • query(thinking) = 'what follows from this'
    query(feeling) = 'what is this worth'
    query(sensation) = 'what is here'
    query(intuition) = 'what could emerge'

Attitude-functions

  • When we combine attitudes and functions we can do some typology classification:

  • attitude_function = attitude * function # unofficial term, not used by Jung
  • Editorial notes:

  • *❗ In the rest of this article, function always refers to attitude_function.

  • There are 3 functions in one’s stack:

  • principal_function = primary_function = 'most differentiated, leads the system'
    auxiliary_function = 'secondary support that balances the dominant'
    inferior_function = 'least differentiated, unconscious counter'
  • *❗ In the rest of this article, when attitude is mentioned in isolation it refers to principal_attitude.

  • And other necessary terms:

  • type = habit(principal_attitude + principal_function)
    function_stack = principal_attitude
    differentiation = 'precision, control, availability of a function'
    affect -> differentiation↓ # "the more intense it is, the closer it approximates to the primitive affect"
  • Note that differentiation can also be applied to other parts of the psyche. So that:

  • principal_function = max(differentiation(function))
    inferior_function = opposite(principal_function)
  • But the auxiliary function is somewhat more complicated. It likely has the same attitude, but not necessarily. (In MBTI interpretations the auxiliary attitude is reversed from the principal, but Jung never stated this and likely thought this was not true, that’s why this equation allows for both, more on this in Appendix 1.)

  • According to Jung (in all likelihood):

  • if principal_function in {thinking, feeling}:
        auxiliary_function = auxiliary_attitude * (sensation or intuition)
    else if principal_function in {sensation, intuition}
        auxiliary_function = auxiliary_attitude * (thinking or feeling)
  • Therefore, I conclude that the auxiliary function can better be determined by behavior and questionnaires than by deriving it from the principal function.

  • Example: if principal_function = Fi, then inferior_function must be Te but the auxiliary_function can either be Ni, Ne, Si or Se

  • To expand on the main questions (“queries”) of the types but now combined with attitude:

  • query(introverted_thinking) = 'what is true for me, in my inner logic'
    query(extraverted_thinking) = 'what works objectively, in the outer system'
    
    query(introverted_feeling) = 'what feels right to me, my inner values'
    query(extraverted_feeling) = 'what is harmonious here, shared values'
    
    query(introverted_sensation) = 'what inner image or impression is present'
    query(extraverted_sensation) = 'what concrete fact is here and now'
    
    query(introverted_intuition) = 'what inner vision or pattern could emerge'
    query(extraverted_intuition) = 'what outer possibilities and trends are unfolding'

Appendix 1: MBTI conversions

  • I believe MBTI is introducing unnecessary complications in order to arrive at a 4 letter system.

      1. The letter combination doesn’t clearly suggest (imho) that the first letter (attitude) refers to the principal function.
      1. The last letter (orientation) is a derived letter, while one might think it’s like the function letters. On top of that, it is actually extraverted orientation, which means that
    • if (principal_attitude = extraverted)
          if (orientation == judging) principal_function = judging, auxiliary_function = perceiving
          if (orientation == perceiving) principal_function = perceiving, auxiliary_function = judging
    if (principal_attitude = introverted)
    if (orientation == judging) principal_function = perceiving, auxiliary_function = judging
    if (orientation == perceiving) principal_function = judging, auxiliary_function = perceiving
  • So an INFJ is a Ni-Fe-Se according to MBTI, but this is confusing in both ways. I believe INFJ suggest that F is introverted as well, while in MBTI this is necessarily reversed, which is also not necessarily the case, since it may as well be Ni-Fi-Se according to Jung and according to research.

  • DRAFT:

    • And controversially, MBTI says it must be opposite, Jung says nothing explicitly but he says it cannot be it’s OPPOSITE.
    • “Experience shows that the secondary function is always one whose nature is different from, though not antagonistic to, the primary function: thus, for example, thinking, as the primary function, can readily pair with intuition as the auxiliary, or sensation with feeling. What it cannot do is pair with its opposite. The auxiliary function is therefore one of the irrational functions when the primary function is rational, and one of the rational when the primary is irrational.”
    • “The auxiliary function is useful only in so far as it serves the dominant function without making any claim to the autonomy of its own principle.”

3. Subject - object dynamics

  • Let’s expand on the subject-object relationship dynamics, as it is a helpful approach to understand Jung’s more difficult terms.

Jung’s Objective, Subjective, Concretism & Abstraction concepts

  • objective_level = 'interpreting content as belonging to the object'
    objective_level = image -> object_qualities
    
    subjective_level = 'interpreting content as belonging to the subject'
    subjective_level = image -> subject_qualities
  • concretism = 'treating the image as identical to the object'
    concretism = image = object
    
    abstraction = 'extracting general patterns from specific content'
    abstraction = image -> general_concept
  • DRAFT And this too? Double check if you understand differentiation

  • abstraction -> differentiation ↑
    # can separate image from object
    
    concretism -> differentiation ↓
    # image and object merge
  • Some effect on the types:

  • Se -> concretism_bias
    Ni | Ti -> abstraction_bias

Image, Imago, Idea

  • Jung makes a distinction between image and imago, try not to confuse these terms with the common daily definitions of these terms.
    • image = 'representation of content'
      imago = 'subjective relation to object as inner image'
    • Or even:
    • imago = subjective(image)
  • But idea has an even wilder definition:
    • idea = 'meaning abstracted from primordial image'
  • image = 'psychological element with visual qualities'
    idea = abstraction(image)  # removes concretism
    idea = 'meaning without visual qualities'

Projection and introjection

  • With these we can explain projection and introjection:

  • projection = 'seeing unconscious content as belonging to object'
    projection = unconscious(image) -> object
    # Example: hating your own hidden aggression, you see everyone else as hostile
    # Example: denying your own creativity, you assume all artists are pretentious
    # Example: unaware of your dishonesty, you distrust everyone's motives
    
    introjection = 'taking object qualities into oneself'
    introjection = object(image) -> subject
    # Example: copying your confident boss's gestures until they feel like your own
    # Example: absorbing your critical parent's voice as your inner standards
    # Example: taking on your partner's taste in music as if it were always yours
  • So that

  • if projection:
        subjective_content -> appears_as(objective_level)
        # your anger seen as their hostility
    
    if introjection:
        objective_content -> becomes(subjective_level)
        # their confidence becomes your stance

Identity & individuality

  • individual = 'psychological entity characterized by unique psychology'
    individuality = 'peculiarity and singularity in every psychological respect'
    
    # Core distinction
    individual = conscious(individuality)
    (!) individuality = unconscious  # exists a priori but unconscious
  • Again, forget the daily term. Identity in Jung terms is more like “full identification with the object” instead of one’s own sense of identity.

  • identity = 'undifferentiated state where self and other merge'
    identity = subject ≈ object
  • As a process instead of a state, this is called identification.

    • identification = 'unconscious imitation toward the object'
      identification = object -> modify(subject)
    • Difference identification and introjection:
    • introjection = object -> incorporate(subject)
      # add content inside while self stays itself
      
      identification = object -> modify(subject)
      # reshape self toward object (differentiation ↓)
  • So according to Jung, empathy is a form of introjection

    • empathy = 'feeling into the object while keeping ego'
      empathy = object -> incorporate(subject)
    • DRAFT Swap term incorporate for supplement or append ?
    • participation_mystique = 'unconscious partial fusion with object before realization'
      participation_mystique = partial(subject ≈ object)
    • # Example: in a roaring crowd, the striker’s goal feels like your own act
      # Example: a parent winces at a child’s mistake as if personally struck
      # Example: under a charismatic leader, you speak with their voice as though it were yours

Assimilation and dissimilation

  • DRAFT After apperception links the new to what’s already active, the system resolves in two opposite adjustments. (?)

  • Jung calls introjection a process of assimilation and projection a process of dissimilation.

    • assimilation = 'fit the new (object) to the subject'
      assimilation(x_new) = adjust(x_new -> subject)
      
      dissimilation = 'shift the subject toward the object'
      dissimilation(subject) = adjust(subject -> object)
    • # Example: you restate a harsh remark in your own terms = assimilation
      # Example: your default tone drifts toward the remark’s style = dissimilation

Surfacing: constellating and complexes

  • DRAFT: todo

Information processing operation

  • affect = 'emotional state marked by physical innervation'
    affect = feeling + 'somatic innervations'
  • DRAFT: Add affectivity

  • A complex is a clustered bit of psyche that can grab the wheel; constellation is the moment it lights up and steers perception.

    • complex = 'cluster of ideas that can organize attention'
      constellation = 'activation of a complex influencing thinking and behavior'
      
      # Example: in a family argument, old childhood resentments activate as a complex, making you react defensively even if the current issue is minor.
    • DRAFT: Meh

    • trigger(object) -> constellate(complex)
      constellated_complex -> shift(attitude) -> biased_perception
    • perception = 'raw intake'
      perception = via(sensation or intuition)
  • apperception is perception plus a link to what’s already lit up inside; constellation sets the bias.

    • apperception = 'intake linked to what is constellated'
      apperception = link(perception, similar(constellated_content))
      # Example: after harsh feedback constellates shame, a neutral email is apperceived as criticism
      # A near-miss constellates danger; a door-slam is apperceived as threat
    • And these can also be split up into two variants
    • DRAFT: improve word salient
    • active_apperception = 'subject-led linking' # inner aim selects and shapes the match
      passive_apperception = 'object-led linking' # salient stimulus or complex selects the match
    • # active: you enter a meeting with a clear hypothesis; remarks are read through that lens
      # passive: a sharp noise constellates threat; neutral movements are read as hostile
    • Additional info
    • introversion -> bias(active_apperception)
      extraversion -> bias(passive_apperception)
    • active_apperception -> assimilation↑      # fit object to subject
      passive_apperception -> dissimilation↑    # shift subject toward object

Analytical methods

  • These methods describe how we interpret psychic content, different lenses for understanding the same material.

    • reductive = 'tracing content back to primitive/instinctual origins'
      reductive = libido -> past
      # concretism...
      
      constructive = 'developing content toward its purposive aim'
      constructive = future_meaning
      constructive_method = libido -> future
      # abstraction bias
      
      synthetic_method = 'integrating causal origins with purposive aims to form a new, whole understanding'
      synthetic = 'combining both origins and aims into whole meaning'
      synthetic = reductive + constructive
    • # Example: A recurring dream of being chased
      # reductive_analysis(dream) -> "This is a repetition of a childhood fear of a critical parent."
      # The dream image is reduced to its supposed origin in the object (the parent).
    • DRAFT: Add examples

    • Neither method is sufficient on its own. Relying only on the reductive view can lead to a sterile fixation on the past, while the constructive view alone can ignore the real wounds that need addressing. The synthetic method integrates both.

    • // The risk of isolated methods
      if (reductive_only) -> result = "I am this way because of my past." // Fixation
      if (constructive_only) -> result = "I must overcome this to grow." // Disconnected from roots
      
      // The synthetic outcome
      if (synthetic_method) {
          result = "My past created this pattern, which now reveals the work I must do for my future."
          // Acknowledges the cause (reductive) while embracing the purpose (constructive)
      }

The law of opposites: Enantiodromia

  • // From Heraclitus: "The way up and the way down are one and the same."
    enantiodromia = 'the tendency of a one-sided position to flip into its opposite'
  • This isn’t a gentle rebalancing; it’s a catastrophic failure of the dominant attitude. The more energy (libido) is invested in a single, differentiated function, the more energy is unconsciously gathered in its inferior, undifferentiated opposite.

  • // From Heraclitus: "The way up and the way down are one and the same."
    enantiodromia = 'the tendency of a one-sided position to flip into its opposite'
    
    // Core operation
    if (conscious_attitude -> extreme) {
        unconscious -> accumulate_libido(opposite_attitude);
        return sudden_eruption(opposite_attitude);
    }
  • // Relationship to the function stack
    let conscious_focus = max(differentiation(principal_function));
    let unconscious_neglect = min(differentiation(inferior_function));
    
    if (conscious_focus == "extreme") {
        // The inferior function erupts, not as a support, but as a hostile takeover
        trigger -> constellate(complex_of(inferior_function));
        result = enantiodromia;
    }

Examples

  •     # Enantiodromia: when each function swings to its opposite extreme
    
        # Thinking functions
        Ti_enantiodromia = "Rigid internal logic -> sudden sentimental outbursts"
        Te_enantiodromia = "Ruthless efficiency -> paralyzed by personal feelings"
    
        # Feeling functions
        Fi_enantiodromia = "Pure personal values -> cold, impersonal analysis"
        Fe_enantiodromia = "Constant harmony-seeking -> brutal, tactless honesty"
    
        # Sensing functions
        Si_enantiodromia = "Obsessive routine adherence -> reckless novelty-chasing"
        Se_enantiodromia = "Endless present-moment stimulation -> withdrawn, visionary brooding"
    
        # Intuitive functions
        Ni_enantiodromia = "Abstract pattern-obsession -> crude sensory indulgence"
        Ne_enantiodromia = "Scattered possibility-chasing -> rigid, detail-fixated control"
        ```

Transcendent function

  • The transcendent function is the psyche’s capacity to create a new synthesis from opposing elements, transcending the either/or dilemma.

    • transcendent_function = 'capacity to bridge opposites and create new possibilities'
    • transcendent_function(A, B) -> create(C)
      # where C contains elements of both A and B but is neither
    • DRAFT: simplify?

    • def individuation_cycle():
          # 1. Develop one-sided conscious attitude
          differentiate(preferred_functions)
      
          # 2. Unconscious compensation builds
          constellation(opposite_content)
      
          # 3. Critical choice point
          if can_hold_tension():
              return transcendent_function(conscious, unconscious)  # Growth
          else:
              return enantiodromia(conscious_attitude)             # Reversal
    •     # Transcendent function: creative synthesis of dominant with inferior
      
          # Thinking functions
          Ti_transcendent = "Internal logic + external harmony = wise, considerate reasoning"
          Te_transcendent = "Systematic efficiency + personal values = principled leadership"
      
          # Feeling functions
          Fi_transcendent = "Personal authenticity + objective analysis = grounded idealism"
          Fe_transcendent = "Group harmony + individual truth = diplomatic honesty"
      
          # Sensing functions
          Si_transcendent = "Proven methods + future vision = adaptive tradition"
          Se_transcendent = "Present awareness + inner patterns = intuitive action"
      
          # Intuitive functions
          Ni_transcendent = "Future vision + concrete details = practical prophecy"
          Ne_transcendent = "Endless possibilities + focused execution = innovative completion"
          ```
      Unmentioned terms:
  • archaism = 'oldness of psychic contents or functions'
    archaic = 'qualities of primitive mentality'