wait i thought the problem was that the recipe requires 2x of the same item except the check to see if you have the correct items registers 1x of that item as fulfilling the full recipe
in gui you'd probs need to fix it by removing 1x of that item and then checking to see if it still returns true (what i said above)
unless you can get the number of an item type in a heroes inventory
and its not unprofessional
its a necessary work around
you have to do this type of stuff a lot in gui, thats why i wanted to learn jass in the first place
the item wont actually really even be removed
the trigger will finish in an instant
but it might create a infinite loop where the trigger fires, an item is removed, readded, trigger fires again - if it does then this way won't
you could also enumerate through all the items in the heroes inventory checking to see if the recipe is fulfilled